【问题标题】:Remove event on scroll bar删除滚动条上的事件
【发布时间】:2015-11-25 12:50:02
【问题描述】:

我制作了一个可滚动的 div,在其中添加了一些内容 如果用户在此 DIV 内单击,我想触发一个事件。 HTML

<div id="mainDiv">
    ... some content..
</div>

JS

$(document).mousedown(function(e){
    var clickedElemet = $(e.target);
    if(clickedElemet.is($("#mainDiv"))){
      alert("mainDiv clicked"); // alert is getting called if we click on scrollbar
    }
})

现在的问题是当用户单击滚动条句柄时,事件被触发。
如果用户单击滚动条句柄,有什么建议可以防止事件发生吗?
请注意,如果我使用 CLICK 事件,这可以正常工作。

请注意,我不能更改 DOM 结构,只能使用 mousedown 事件。

Demo

【问题讨论】:

  • 我会制作一个可滚动的外部 div,并且在点击操作时内部的 div 稍微薄一些。
  • 实际上我无法更改 DOM 结构。这是主要问题。 :(
  • @Vishu238 请在您的问题中添加这个重要的细节,有几个答案是基于更改您的 HTML 结构...

标签: javascript jquery html


【解决方案1】:

您需要点击X position,然后检查点击X position 是否超出滚动条X position

JSFiddle 中查看演示。

注意:这在浏览器放大和缩小时无法正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 2021-05-24
    • 2010-12-18
    相关资源
    最近更新 更多