2016-04-26 10 views
1

​​でドロップダウンを取得しました。ファンシースクロールは、デフォルトのスクロールに代わる本当にシンプルなライブラリです。 HTMLマークアップを追加するだけで、スクロールはjavascriptを使用して初期化する必要もなくなります。ドラッグ時にクリックしたときにブートストラップドロップダウンが閉じるのを防ぐ

何が起こっていたのかをデバッグした後、ブートストラップがドラッグをクリックしたときに自分のドロップダウンを非表示にしています。

イベントは 'hide.bs.dropdown'です。

これまでのところ、私はそれを動作させるために管理しましたが、唯一の問題は、ドラッグを開始するたびに、stopPropagation()関数により、リリースしたにもかかわらずスクロールし続けますマウスをクリックします。

 $('.dropdown-menu input, .dropdown-menu label, .thumb', element).click(function(e) { 
     e.preventDefault(); 
     e.stopPropagation(); 
     }); 

     $('.thumb', element).on('mouseup', function(e) { 
     e.preventDefault(); 
     e.stopImmediatePropagation(); 
     return false; 
     }); 

     $('.dropdown-menu .scrollbarY', element).click(function(e) { 
     e.stopImmediatePropagation(); 
     }); 

     $(element).on("hide.bs.dropdown",function(e) { 
     e.preventDefault(); 
     return false; 
     }); 

私が探している行動:

これらの事はそれでスクロールバーを持つ、この場合のシナリオを関与解決の答えのいずれでもない、グーグルながら、私が試したいくつかのことですスクロールドラッグ(.thumb)をクリックしてもドロップダウンは終了しませんが、アイテムの1つにクリックがある場合、またはドロップダウンから離れている場合は、それを閉じる必要があります。

+1

フォーカスが別のコントロールにあるときにドロップダウンを閉じるのは、標準のブラウザー動作です。これを変更すると、ユーザーにとって驚くかもしれません。 –

+1

ドラッグをクリックして上下にスクロールすると、どのユーザーでも正常に表示されますが、ドラッグを終了してもドロップダウンは終了しません。 – msqar

答えて

0

苦労して数時間後、私が作ったテストを組み合わせて、問題を解決しました。 誰もが同じ問題に遭遇した場合は、ここで私がやったことだ:

(scrollbarYがdraggy親である)

 $('.scrollbarY', element).click(function(e) { 
     e.preventDefault(); 
     e.stopImmediatePropagation(); 
     return false; 
     }); 

はそれが皆のために働く願っています。

関連する問題