我不知道这是否只是Chrome问题(现在无法检查),但是让我们尝试以下代码,其中我们将两个事件绑定到某个元素:
$("div").on({
mousemove: function(e) {
console.log("move");
},
click: function(e) {
console.log("click");
}
});
如果我们尝试单击元素,我们会发现由于某种原因mousemove
,单击后会立即触发事件,因此在控制台中我们有:
>> ...
>> click
>> move
演示:http: //jsfiddle.net/gKqVt/
请注意,这mousedown
和mouseup
事件在相同的情况下起作用。
我在 SO 上看到了很多关于同一个问题的问题,但没有一个(在我的搜索中)给出了直接的想法,为了只触发事件而做click
什么。