2016-08-15 121 views
0

HTML:JS事件处理程序的执行顺序

<input class="button" type="button" value="click me"></input> 
<input class="input" type="text"></input> 

的JavaScript:

$(".button").on("click", function(){console.log("clicked");}) 
$(".input").on("blur", function(){console.log("blur");}) 

当我点击输入框,然后点击按钮,两个事件都被解雇了。我的问题是这两个事件被解雇的顺序是什么。为什么blur消息始终在clicked之前打印?该执行命令是否有任何相关文件或信息?

+1

逻辑上输入必须失去焦点(模糊)在按钮被点击前 – aw04

+0

在它可以专注于另一个元素之前,它必须失去它对当前元素的焦点,这就是为什么 – Evochrome

+0

我很困惑,因为它似乎也逻辑上对我在按钮被点击时,输入失去焦点在同一时间 – Sean

回答

0

不,不是这样,当你点击按钮时,按钮点击事件和输入模糊事件同时触发。要测试它,请单击除按钮之外的任何位置以启动模糊事件。你会看到不同之处。