cancelbubble,Event对象详解及使用示例?
Event代表事件状态,如事件发生的元素,键盘状态,鼠标位置和鼠标按钮状态。一旦事件发生,便会生成Event对象,如单击一个按钮,浏览器的内存中就产生相应的 event对象。
event对象只在事件发生的过程中才有效。
event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。
【event属性】:
altKey, button, cancelBubble, clientX, clientY, ctrlKey, fromElement, keyCode, offsetX, offsetY, propertyName, returnValue, screenX, screenY, shiftKey, srcElement, srcFilter, toElement, type, x, y
示例:
<SCRIPT LANGUAGE="JScript">
function checkCancel() {
if (window.event.shiftKey)
window.event.cancelBubble = true;
}
function showSrc() {
if (window.event.srcElement.tagName == "IMG")
alert(window.event.srcElement.src);
}
</SCRIPT>
<BODY onclick="showSrc()">
<IMG onclick="checkCancel()" SRC="sample.gif">
js如何取消事件冒泡?
1、cancelBubble(HTML DOM Event 对象属性) :如果事件句柄想阻止事件传播到包容对象,必须把该属性设为 true。
2、stopPropagation(HTML DOM Event 对象方法):终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。
3、 preventDefault(HTML DOM Event 对象方法)通知浏览器不要执行与事件关联的默认动作。例子: function stopBubble(e) { if (e && e.stopPropagation) e.stopPropagation() else window.event.cancelBubble=true } 把这个stopBubble(e)函数放到你想要的阻止事件冒泡函数里面就可以阻止事件冒泡了
js阻止事件冒泡的两种方法?
阻止事件冒泡的两种方法分别是使用event.stopPropagation()方法和event.cancelBubble属性。
使用event.stopPropagation()可以在事件处理程序中调用,从而阻止事件继续传播到父元素。而使用event.cancelBubble属性可以设置为true来阻止事件冒泡。这两种方法都可以有效地阻止事件冒泡,让我们可以更精确地控制事件的传播。在编写js代码时,可以根据具体情况选择合适的方法来实现事件冒泡的阻止。
还没有评论,来说两句吧...