将鼠标悬停在复选框上时如何防止鼠标离开事件

时间:2013-11-27 20:33:41

标签: c# mouseevent

我有一个带面板的表单,它会有一些选项复选框。当鼠标悬停在其边缘(面板边缘)时,我将面板滑入到表单中。当鼠标离开面板时,我让它隐藏(向后滑动)。问题是,当我在此面板中指向一个复选框时,会发生mouseleave事件,并且面板会向后滑动,因此我无法选中复选框。当鼠标仍在面板上并且其中有一些复选框时,有没有办法阻止mouseleave事件?我的想法是在mouseleave事件中基于鼠标指针位置创建条件,但我希望有一种方法可以让app将复选框视为面板的一部分。没有放任何食物,因为它不是问题。但如果需要可以发布。

1 个答案:

答案 0 :(得分:1)

这里发生的事情是,由于事件冒泡,复选框的mouseleave事件会触发面板的mouseleave事件。您可以阅读有关事件冒泡here的更多信息。

要防止事件冒泡,请在复选框上附加mouseleave事件并致电event.stopPropagation()。 使用jQuery的示例代码:

$("checkboxes_selector").on("mouseleave", function(event){
    event.stopPropagation();
});