我尝试使用preventDefault()方法在提交表单时不重新加载页面,但是没有任何效果。有人能解释一下JQuery中preventDefault()方法的目的吗?
我尝试使用preventDefault()方法在提交表单时不重新加载页面,但是没有任何效果。有人能解释一下JQuery中preventDefault()方法的目的吗?
简短回答,来源于http://api.jquery.com/event.preventdefault/
描述:如果调用此方法,则不会触发事件的默认操作。
以此示例为例:
$("a").click(function( event ) {
event.preventDefault();
$("<div>")
.append( "default " + event.type + " prevented" )
.appendTo( "#log" );
});
preventDefault()
被调用),而是继续处理并将数据附加到div中。这不是jQuery的功能,而是传递给JavaScript事件监听器的Event对象的一部分。
https://developer.mozilla.org/en/docs/Web/API/Event/preventDefault
当您将事件监听器绑定到DOM元素时,事件对象会作为参数传递。当触发该事件时,该侦听器将被执行,但每个事件都有一个默认实现。当您调用event.preventDefault
时,它将标记事件对象为已处理,并跳过默认实现。<a>
标签上最明显,因为您可能希望阻止链接被跟踪的click
事件。但是,它也适用于诸如键盘输入、触摸等其他内容。