剛開始的時候,不知道什麼是冒泡事件?感覺程序中的應用不會很多,也感覺特別不好理解,沒接觸到代碼是這樣理解的:冒泡事件就是觸發一個事件,它會相應的一級一級向外冒泡,觸發相應的冒泡事件。
一次,查找bug時纔有所瞭解。bug的現象是:某個瀏覽器中,當“回車”時,頁面會報出500的錯誤,而其他瀏覽器則不會出現這樣的問題。剛開始以爲是瀏覽器兼容的問題,一直向這個方向找錯,但是最後師父給看了一下,原來不是瀏覽器兼容,是冒泡事件。
因爲錯誤是拋到頁面上的,說明頁面跳轉了,不是ajax的異步請求,敲回車導致頁面跳轉了,說明某個form表單被提交了,而又不能在其他版本重現,說明DOM嵌套有問題,於是瀏覽器的容錯機制把DOM修正了,出問題的瀏覽器則剛好把回車時間包到某個form裏了。
解決的辦法:(阻止冒泡事件)
event.stopPropagation();
當驗證form表單中的內容時,若出錯,則阻止默認動作。
阻止事件的默認動作:
event.preventDefault();//暫時在項目中未用到