Javascript中return false 與 event.preventDefault() 的區別

說一下事件傳送機制就能夠明白了
事件傳遞機制:
例如鼠標被按下後,mousedown事件被觸發。
事件先從document->ancestor element->...->parent->event.target(在此元素上按下的鼠標)->parent->...->ancestor element->document.
事件走了一個循環,從documet到event.target再回到document,從event.target到document的過程叫作冒泡。

event.stopPropagation(); // 事件中止冒泡到,即不讓事件再向上傳遞到document,可是此事件的默認行爲仍然被執行,如點擊一個連接,調用了event.stopPropagation(),連接仍然會被打開。

event.preventDefault(); // 取消了事件的默認行爲,如點擊一個連接,連接不會被打開,可是此事件仍然會傳遞給更上一層的先輩元素。

在事件處理函數中使用 return false; 至關於同時調用了event.stopPropagation()和event.preventDefault(),事件的默認行爲不會被執行,事件也不會冒泡向上傳遞
相關文章
相關標籤/搜索