javascript - 删除滚动条上的事件

标签 javascript jquery html

我制作了一个可滚动的 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 事件,这可以正常工作。

Please note that I can not change DOM structure and have to use mousedown event only.

Demo

最佳答案

您需要获取点击 X 位置,然后检查点击 X 位置 是否超出滚动条 X 位置

参见中的演示JSFiddle .

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

关于javascript - 删除滚动条上的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32312038/

相关文章:

html - 固定页眉和页脚,页脚不是 100%

JavaScript YAML 解析器

Javascript/Node.js - 检查文件是否已更改

javascript - sap.m.PlanningCalendarRow 中的约会对齐

javascript - 使用对象在 Javascript 中制作一个简单的计算器

javascript - 如何从用户输入的电子邮件地址中获取域名并将其链接到邮箱?

javascript - 遇到两个具有相同 key `1` 的 child 。 key 应该是唯一的,以便组件在更新时保持其身份。 Laravel React JS

javascript - 根据字段值在文档准备好时设置类

jquery - 使用 JQuery 自动刷新内容而不重新加载页面?

javascript - 重新加载时重定向到基本网址