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(事件)函数