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