2013-01-22 51 views
2

我有一個包含幾個jQuery UI滑塊的頁面。該頁面還包含一些用於顯示工具提示的div元素和mouseenter/mouseleave處理程序。如預期的那樣,通過div拖動文本或圖像不會觸發工具提示。但是,在拖動滑塊手柄的同時將鼠標移到div元素上時,會觸發工具提示。在拖動jQuery UI滑塊時阻止mouseenter/mouseleave事件

的jsfiddle展示問題:http://jsfiddle.net/JCKYs/4/

是否有可能阻止所有mouseenter/mouseleave事件的同時拖動一個jQuery UI滑塊?

我想出的一個解決方案是創建一個全局標誌,指示滑塊是否被拖動。該標誌在頁面上所有滑條對象的start/stop處理程序中更新。然後我可以在所有的mouseenter處理程序中檢查這個標誌的狀態,以防止顯示工具提示。

是否有更通用的解決方案,不涉及更新所有我的事件處理程序代碼?由於這種行爲已經存在的文本/圖像拖動,我認爲可能有更好的解決方案。

回答

3

這很容易通過在滑動開始時在鼠標後面添加浮動div來實現。

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

第一行更改var debug = true;var debug = false;,使之透明。

+0

聰明的解決方法,謝謝! – flashk