我有一个附加了事件的父元素,mouse up
以及mouse down
一个附加了事件的子元素click
。
在父母触发事件后,有什么方法可以防止click
事件发生在孩子身上?mouseup
一个例子,在这里的 JSfiddle上,如果我点击它,目标是使内部正方形不会变成绿色。
理想情况下,我想在不修改$('#inner').on('click', function(){})
. 我已经知道我可以设置一个布尔值mouseup
并检查它,click
但我试图找到一种方法来做到这一点而不修改点击事件。
click
使用 jquery(或任何其他库)是选项,除了不修改方法之外,我真的没有任何限制。
编辑
感谢@adeneo 的建议,这看起来很有希望,但它让我意识到我错过了问题的很大一部分。里面mouseup
会有一个条件检查,看看是否应该阻止点击。如果我删除了该事件,我可以在避免点击后以某种方式将其添加回来吗?以一个setTimeout
为例。我不确定如何(或是否有可能)获取对已删除click
函数的引用,然后重新添加处理程序。
希望这里的这个新小提琴可以帮助我更好地解释它!