据说,当我们处理“点击事件”,返回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