我有一个有关如何停止事件传播的问题。
想象一下,我有两个div,一个容器和一个竞争。
当我在内容内进行完整单击(鼠标向下移动和鼠标向上移动)时,可以使用preventDefault()停止传播
但是,如果我将mousedown放在内容内部,将鼠标移到外部并释放按钮,则将触发容器处理程序。
我不在乎内容中的事件,但是在这种情况下,我需要停止事件通过容器进行。
我做了一个小提琴来测试它:https : //jsfiddle.net/Lq7v50nw/
JS:
$('#container').on('click', function(){
alert('click in container')
});
$('#content').on('click', function(ev){
ev.stopPropagation();
alert('click in content')
});
的HTML
<div id="container">
<div id="content"></div>
</div>
反正有实现这种行为的方法吗?谢谢你。
编辑(有关我已经尝试过的内容的更多信息)更改mousedown的click事件。问题在于他们需要在内容内单击并拖动,有时拖动到内容之外会触发容器处理程序。我无法使用mousedown。
人到中年有点甜
湖上湖
长风秋雁
相关分类