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

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

最佳答案

有一种尴尬的方法是在按下鼠标时禁用按钮,并在较短的时间(例如100毫秒)后启用它。如果在此期间发生了鼠标悬停,则不会触发单击。

$('#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/

10-11 23:33
查看更多