e.preventDefault()方法真的有用吗?

时间:2015-10-20 13:35:13

标签: javascript jquery

我已经尝试过preventDefault()来提交没有重新加载页面的表单,但它没有给我任何结果。任何人都可以解释JQuery中的preventDefault()方法的目的是什么?

2 个答案:

答案 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标记最为明显,因为您可能希望阻止链接被跟踪。但是,它也适用于键盘输入,触摸等功能。