2

divのoverflow:scrollスクロールバー$(document) を除いて、マウスダウンをリッスンする方法についての提案はありますか?

スクロールバーを参照するためにスクロールバーどの要素であるかわかりません...

4

2 に答える 2

2

あなたは自分でターゲットをチェックすることができます:

$(document).on('mousedown', function(e) {
    console.log(e.target);
});

フィドル

スクロールバーは実際には要素ではなく、クリックハンドラーは機能しませんが、マウスダウンが実行されているように見えますが、スクロールバーが属する要素を提供するだけです。

スクロールバーだけを除外するには、そのサイズを把握してから、マウスダウンでマウスの位置をチェックして、スクロールバー領域内にあるかどうかを確認する必要があると思います。

</ p>

于 2012-08-10T19:54:53.847 に答える
0
<div class='scrollHolder' style='overflow:scroll;'>
<div class='scrollContent'>
</div>
</div>

$(document).on( "mousedown", function( event )
{
    var onScrollbar = false;
    if (event.target.className == "scrollHolder")
    {   
        var s_c = $(event.target).children(".scrollContent");

        if (event.pageX-s_c.offset().left > s_c.innerWidth())
        {
            onScrollbar  = true;
        }
    }
});
于 2012-08-16T17:29:08.787 に答える