2016-08-15 119 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

不,不是這樣,當你點擊按鈕時,按鈕點擊事件和輸入模糊事件同時觸發。要測試它,請單擊除按鈕之外的任何位置以啓動模糊事件。你會看到不同之處。