我不知道这是否只是Chrome的问题(现在无法检查),但让我们尝试以下代码片段,其中绑定了两个事件到某些元素:
我不确定这是否只是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
事件。