e.preventDefault()方法到底是做什么的?

9

我尝试使用preventDefault()方法在提交表单时不重新加载页面,但是没有任何效果。有人能解释一下JQuery中preventDefault()方法的目的吗?


1
请查看http://api.jquery.com/event.preventDefault/。 - A. Tapper
2个回答

4

简短回答,来源于http://api.jquery.com/event.preventdefault/

描述:如果调用此方法,则不会触发事件的默认操作。

以此示例为例:

$("a").click(function( event ) {
  event.preventDefault();
  $("<div>")
    .append( "default " + event.type + " prevented" )
    .appendTo( "#log" );
});

如果点击上面的超链接,浏览器将不会尝试重定向浏览器(因为preventDefault()被调用),而是继续处理并将数据附加到div中。

1

这不是jQuery的功能,而是传递给JavaScript事件监听器的Event对象的一部分。

https://developer.mozilla.org/en/docs/Web/API/Event/preventDefault

当您将事件监听器绑定到DOM元素时,事件对象会作为参数传递。当触发该事件时,该侦听器将被执行,但每个事件都有一个默认实现。当您调用event.preventDefault时,它将标记事件对象为已处理,并跳过默认实现。
<a>标签上最明显,因为您可能希望阻止链接被跟踪的click事件。但是,它也适用于诸如键盘输入、触摸等其他内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接