2

いくつかの jQuery UI スライダーを含むページがあります。mouseenterこのページには、ツールチップを表示するための/mouseleaveハンドラーを含むいくつかの div 要素も含まれています。テキストまたは画像を div の上にドラッグしても、予想どおりツールチップがトリガーされません。ただし、スライダー ハンドルをドラッグしながらマウスを div 要素の上に移動すると、ツールチップがトリガーされます。

問題を紹介するjsFiddle: http://jsfiddle.net/JCKYs/4/

jQuery UIスライダーをドラッグしているときにすべてのmouseenter/イベントを防ぐことは可能ですか?mouseleave

私が思いついた解決策の 1 つは、スライダーがドラッグされているかどうかを示すグローバル フラグを作成することです。フラグは、ページ上のすべてのスライダー オブジェクトのstart/stopハンドラーで更新されます。mouseenter次に、すべてのハンドラーでこのフラグの状態をチェックして、ツールヒントが表示されないようにします。

すべてのイベント ハンドラー コードを更新する必要のない、より一般的な解決策はありますか? この動作はテキスト/画像のドラッグに対して既に存在するため、より良い解決策があるのではないかと考えました。

4

1 に答える 1

3

これは、スライドの開始時にマウスの後ろにフローティング div を追加することで簡単に実現できます。

デモ: http://jsfiddle.net/JCKYs/5/

var debug = true;最初の行を に変更しvar debug = false;て透明にします。

于 2013-01-22T04:45:21.443 に答える