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/