2

$(document) 除了div 的溢出:滚动滚动条之外,关于如何监听 mousedown 的任何建议?

我不确定滚动条什么元素来引用它......

4

2 回答 2

2

您可以自己检查目标:

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

小提琴

滚动条不是真正的元素,单击处理程序将不起作用,但似乎 mousedown 已被触发,但只会为您提供滚动条所属的元素。

要排除滚动条,我猜你必须弄清楚它的大小,然后检查 mousedown 上的鼠标位置,看看它是否在滚动条区域内。

​</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 回答