blur與change事件在絕大部分的情況下表現都非常相似,輸入結束后,離開輸入框,會先后觸發change與blur,唯有兩點例外。
1、沒有進行任何輸入時,不會觸發change
在這種情況下失焦后,輸入框並不會觸發change事件,但一定會觸發blur事件。在判斷表單的修改狀態時,這種差異會非常有用,通過change事件能輕易地找到哪些字段發生了變更以及其值的變更軌跡。
2、輸入后值並沒有發生變更
這種情況是指,在沒有失焦的情況下,在輸入框內進行的刪除與輸入操作,但最終的值與原值一樣,這種情況下失焦后,keydown、input、keyup、blur都會觸發,但change依舊不會觸發。