jQuery 双击事件(dblclick)时,不触发单击事件(click)
时间: 2023-08-18 12:03:58 浏览: 179
解决element-ui中下拉菜单子选项click事件不触发的问题
是的,双击事件(dblclick)会在一定时间内连续触发两次单击事件(click),因此不需要再触发单击事件。如果您需要在双击事件中同时触发单击事件,可以使用setTimeout函数来延迟单击事件的触发,以便在双击事件触发后再判断是否触发了单击事件。以下是一个示例代码:
```javascript
var clicked = false;
$('.element').on('click', function() {
if (!clicked) {
clicked = true;
setTimeout(function() {
if (clicked) {
// 触发单击事件
}
clicked = false;
}, 300);
} else {
// 触发双击事件
clicked = false;
}
});
$('.element').on('dblclick', function() {
// 防止双击事件触发两次单击事件
clicked = false;
});
```
在上面的代码中,我们使用clicked变量来判断是否已经触发了单击事件。在单击事件中,我们设置clicked为true,并使用setTimeout函数来延迟300毫秒后触发单击事件。在这300毫秒内,如果双击事件触发了,我们会在双击事件中将clicked重置为false,以防止双击事件触发两次单击事件。如果300毫秒内没有双击事件触发,我们会在setTimeout函数中触发单击事件,并将clicked重置为false。
阅读全文