我有一个带面板的表单,它会有一些选项复选框。当鼠标悬停在其边缘(面板边缘)时,我将面板滑入到表单中。当鼠标离开面板时,我让它隐藏(向后滑动)。问题是,当我在此面板中指向一个复选框时,会发生mouseleave事件,并且面板会向后滑动,因此我无法选中复选框。当鼠标仍在面板上并且其中有一些复选框时,有没有办法阻止mouseleave事件?我的想法是在mouseleave事件中基于鼠标指针位置创建条件,但我希望有一种方法可以让app将复选框视为面板的一部分。没有放任何食物,因为它不是问题。但如果需要可以发布。
答案 0 :(得分:1)
这里发生的事情是,由于事件冒泡,复选框的mouseleave
事件会触发面板的mouseleave
事件。您可以阅读有关事件冒泡here的更多信息。
要防止事件冒泡,请在复选框上附加mouseleave
事件并致电event.stopPropagation()
。
使用jQuery的示例代码:
$("checkboxes_selector").on("mouseleave", function(event){
event.stopPropagation();
});