Javascript 防止子元素的默认事件
如何在执行子事件时防止父事件。下面是代码,请参见注释Javascript 防止子元素的默认事件,javascript,Javascript,如何在执行子事件时防止父事件。下面是代码,请参见注释 document.addEventListener('touchend', function (e) { //Do something here }, false); someChildElement.addEventListener('touchend', function (e) { //Do something here //if this code block is executed then do-n
document.addEventListener('touchend', function (e) {
//Do something here
}, false);
someChildElement.addEventListener('touchend', function (e) {
//Do something here
//if this code block is executed then do-not execute the touchend event of document//
}, false);
您可以在子事件处理程序中尝试此操作
event.stopPropagation()
对于Internet Explorer,您应该使用
window.event.cancelBubble = true
您可以在子事件处理程序中尝试此操作
event.stopPropagation()
对于Internet Explorer,您应该使用
window.event.cancelBubble = true
您是否尝试过更改事件传播机制 “addEventListener”方法中的最后一个参数控制事件的传播。如果我们将其设置为false,事件将冒泡,但如果我们将其设置为true,则捕获事件,然后冒泡。因此,当我们将其设置为“true”时,“container”在“child”之前接收事件,当我们将其设置为“false”时,child在容器之前接收事件。 简单地说,当我们将参数设置为“false”时,事件注册器从内部元素开始,因为事件从“child”元素冒泡到其容器元素。当我们将其设置为“true”时,事件注册器首先向下移动到容器元素,因为它是事件注册到的第一个元素,从最外层元素遍历文档树,然后到达子元素 然后可以使用event.stopPropagation停止事件进一步遍历
您可以在此处了解更多有关它的信息。您是否尝试过更改事件传播机制 “addEventListener”方法中的最后一个参数控制事件的传播。如果我们将其设置为false,事件将冒泡,但如果我们将其设置为true,则捕获事件,然后冒泡。因此,当我们将其设置为“true”时,“container”在“child”之前接收事件,当我们将其设置为“false”时,child在容器之前接收事件。 简单地说,当我们将参数设置为“false”时,事件注册器从内部元素开始,因为事件从“child”元素冒泡到其容器元素。当我们将其设置为“true”时,事件注册器首先向下移动到容器元素,因为它是事件注册到的第一个元素,从最外层元素遍历文档树,然后到达子元素 然后可以使用event.stopPropagation停止事件进一步遍历 您可以在这里了解更多信息,请使用 preventdefault(事件)函数 使用 preventdefault(事件)函数