您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
SpringBoot 发布于2019年12月09日 23:06 最近更新于 2019年12月09日 23:21

在 jQuery 的事件处理函数中 event.preventDefault() 和 return false 有什么区别?

2670 次浏览 读完需要≈ 1 分钟 jQueryJavaScript

如题,请问,在 jQuery 的事件处理函数中 event.preventDefault()return false 有什么区别呢?

$("#btn").click(function(event){
	event.preventDefault();
	return false;
	// 上面两行代码的效果有什么区别?
});

1 个回答

Ready · 4年前

要回答这个问题,最好是参考jQuery官方的 API 文档,在 jQuery.on() 方法的API说明中有这样一句话(jQuery中几乎所有的事件处理绑定方法底层都是基于jQuery.on()的):

Returning false from an event handler will automatically call event.stopPropagation() and event.preventDefault().

这句话就解答了你的问题: return false 相当于自动调用了 event.stopPropagation() and event.preventDefault()

event.stopPropagation() 是用来中止当前事件的继续冒泡。

event.preventDefault() 是用来取消当前事件触发的默认行为。

撰写答案