拖动jquery ui滑块时阻止mouseenter / mouseleave事件

时间:2013-01-22 04:23:56

标签: javascript jquery jquery-ui

我有一个包含一些jQuery UI滑块的页面。该页面还包含一些带有mouseenter / mouseleave处理程序的div元素,用于显示工具提示。在div上拖动文本或图像不会像预期的那样触发工具提示。但是,在拖动滑块手柄的同时将鼠标移动到div元素上会触发工具提示。

jsFiddle展示问题:http://jsfiddle.net/JCKYs/4/

在拖动jQuery UI滑块时是否可以阻止所有mouseenter / mouseleave事件?

我想出的一个解决方案是创建一个全局标志,指示是否正在拖动滑块。该标志在页面上所有滑块对象的start / stop处理程序中更新。然后,我可以检查所有mouseenter处理程序中此标志的状态,以防止显示工具提示。

是否有一个更通用的解决方案,不涉及更新我的所有事件处理程序代码?由于文本/图像拖动已存在此行为,我认为可能有更好的解决方案。

1 个答案:

答案 0 :(得分:3)

通过在滑动开始时在鼠标后面添加浮动div可以轻松实现。

演示:http://jsfiddle.net/JCKYs/5/

将第一行的var debug = true;更改为var debug = false;以使其透明。