Mouseup与Click

时间:2016-01-11 06:30:53

标签: javascript angularjs

在应用于单个元素的AngularJS指令中,假设我有以下代码。

$document.on('click', function(event){
    console.log('click');
});

$document.on('mouseup', function(event){
    console.log("mouseup");
});

尽管有这样的顺序,但是在点击之前,Mouseup总是会触发。这总是如此吗?如果click只是一个mousedown后跟一个mouseup,那么为什么它会在注册之后发出命令呢?

4 个答案:

答案 0 :(得分:2)

是的,情况总是如此。 click事件定义为在mouseup事件发生后立即发生,注册顺序不会影响该事件。

答案 1 :(得分:0)

因为这是浏览器/ js引擎执行事件处理程序的顺序。

答案 2 :(得分:0)

好。如果点击是mousedown后跟一个mouseup,那么事件将按顺序进行trigerred(mousedown,mouseup,click(因为它由前面的2组成,它需要在之前触发那些2))并且可悲的是,你无法改变。

答案 3 :(得分:0)

首先订购鼠标事件,然后点击事件。

因为您的鼠标将始终首先移动,所以该事件将按顺序排在第一位...点击事件将触发后