e.preventDefault()方法真的做什么?

这个问题在这里已经有了答案:

  • event.preventDefault()与返回false 11个答案

  • 简短的回答,从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对象将作为参数进行传递。 当该事件被触发时,该侦听器被执行,但每个事件都有默认的实现。 当您调用event.preventDefault时, event.preventDefault事件对象标记为已处理,并且会跳过默认实现。

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

    链接地址: http://www.djcxy.com/p/19517.html

    上一篇: what e.preventDefault() method really does?

    下一篇: Javascript native equivalent for jQuery event.preventDefault