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