0

我在我的项目中有一个窗口单击 eventListener 和 div 元素上的一些单击事件。如果我单击 div,则此 div 元素上的单击事件(正确)并且窗口单击 eventListener 触发(不正确)。

我可以冒泡窗口单击 eventListener 不触发事件的 div 元素吗?

为了更好地演示jsfiddle:

window.addEventListener('mouseup', onDocumentMouseUp, false);

function onDocumentMouseUp(event){
	 alert('dont fire this event on button click')
}

$('#button').on({
  click: function (event) {
		alert('button click event');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="button" style="height: 30px; width: 30px; background: blue"></div>

我希望有人能帮助我。

4

1 回答 1

0

是的,你可以event.stopPropagation()这样使用:

$('#button').on({
  click: function (event) {
        alert('button click event');
        event.stopPropagation();
  }
});
于 2016-10-29T14:10:40.940 回答