javascript - 在 mousedown 和 mouseup 事件后防止点击事件

标签 javascript jquery mouseevent

在刚刚触发 mousedown 和 mouseup 事件后,jQuery 是否有可能阻止在同一元素上执行单击事件。

任何帮助/示例将不胜感激。

最佳答案

有一种笨拙的方法是在鼠标按下时禁用按钮,并在短时间(如 100 毫秒)后启用它。如果在此期间发生 mouseup,则不会触发点击。

$('#btn').on('click', function() {
  alert('clicked')
});
$('#btn').on('mousedown', function() {
  var btn = $(this);
  btn.attr('disabled', 'disabled');
  setTimeout(function() { btn.removeAttr('disabled'); }, 100);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<body>
<button id='btn'>Click me</button>
</body>

关于javascript - 在 mousedown 和 mouseup 事件后防止点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10746650/

相关文章:

javascript - div 不会随窗口大小缩放,jquery 会阻止它吗?

javascript - 如何制作流畅流畅的 float 按钮?

javascript - 从 PIXI.js 中的兄弟或父 DOM 元素捕获鼠标事件

JavaScript 通过代码模拟右键单击

javascript - 测试开关中的多个案例,例如 OR (||)

JavaScript 显示更多文本

javascript - 让 jquery 选项卡记住选择

javascript - URL用正则表达式验证,缺少时添加 "http://"

javascript - 需要帮助将 Perl 正则表达式转换为 Javascript 正则表达式

java - 鼠标按下不工作