【问题标题】:what e.preventDefault() method really does? [duplicate]e.preventDefault() 方法到底做了什么? [复制]
【发布时间】:2016-01-19 04:49:02
【问题描述】:

我已尝试 preventDefault() 提交表单而无需重新加载页面,但它没有给我任何结果。谁能解释一下 JQuery 中 preventDefault() 方法的目的是什么???

【问题讨论】:

标签: javascript jquery


【解决方案1】:

它不是 jQuery 功能,而是传递给 Javascript 事件侦听器的 Event 对象的一部分。

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

当您将事件侦听器绑定到 DOM 元素时,Event 对象将作为参数传递。触发该事件时会执行该侦听器,但每个事件都有一个默认实现。当您调用event.preventDefault 时,将事件对象标记为已处理,并跳过默认实现。

click 事件发生时,<a> 标记最为明显,因为您可能希望阻止链接被跟踪。但是,它也适用于键盘输入、触摸等。

【讨论】:

    【解决方案2】:

    简答,来自http://api.jquery.com/event.preventdefault/

    说明:如果调用此方法,事件的默认动作 不会被触发。

    举个例子:

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

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

    【讨论】:

      猜你喜欢
      • 2016-02-12
      • 2019-09-05
      • 2012-02-07
      • 2022-11-10
      • 2014-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-16
      相关资源
      最近更新 更多