Javascript 鼠标点击vs点击
在应用于单个元素的AngularJS指令中,假设我有下面的代码Javascript 鼠标点击vs点击,javascript,angularjs,Javascript,Angularjs,在应用于单个元素的AngularJS指令中,假设我有下面的代码 $document.on('click', function(event){ console.log('click'); }); $document.on('mouseup', function(event){ console.log("mouseup"); }); 尽管有此命令,鼠标总是在点击前启动。情况会一直如此吗?如果click只是一个mousedown,后跟一个mouseup,那么为什么不管它的注册顺序如
$document.on('click', function(event){
console.log('click');
});
$document.on('mouseup', function(event){
console.log("mouseup");
});
尽管有此命令,鼠标总是在点击前启动。情况会一直如此吗?如果click只是一个mousedown,后跟一个mouseup,那么为什么不管它的注册顺序如何,它都会在之后触发?因为这是浏览器/js引擎执行事件处理程序的顺序 嗯。如果一次点击是一次鼠标下移,然后是一次鼠标点击,那么事件将按照这个顺序触发(鼠标下移,鼠标点击,点击(因为它是由前面的2个组成的,它需要前面的2个被触发)),这是你无法改变的,很遗憾。是的,情况总是这样。
click
事件定义为在mouseup
事件之后立即发生,注册顺序不会影响该事件。顺序将首先是鼠标事件,然后是click事件
因为您的鼠标将始终首先移动,所以事件将是顺序中的第一个事件…单击事件将触发后顺序不取决于处理程序注册,而是取决于触发事件的顺序。。。在这种情况下,
mouseup
在单击之前被触发
我应该知道的浏览器之间的任何差异?@Andrew我不知道。需要一些相关的测试,您可以自己测试订单。