據說,當我們處理「點擊事件」,返回false或者調用event.preventDefault()有差別,其中在JavaScript事件處理中,爲什麼「返回false」或「event.preventDefault()」和「停止事件流」會有所作爲?
不同的是,的preventDefault 只會阻止默認事件 行動發生,即頁面重定向 上的鏈接點擊,表單提交, 等,並返回false也會停止 事件流。
這是否意味着,如果點擊事件被註冊多次採取若干行動,使用
$('#clickme').click(function() { … })
返回false將停止運行其他的處理程序?
我現在在Mac上,所以只能使用Firefox和Chrome,但不能使用具有不同事件模型的IE,並且通過添加3個處理程序在FF和Chrome上測試它,並且所有3個處理程序都不會停止運行。 。所以真正的區別是什麼,或者,是否存在「停止事件流」不可取的情況?
這是關係到
和
What's the difference between e.preventDefault(); and return false?
請參見:[事件流程](http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-flow) – CMS 2010-06-15 02:25:11