e.preventDefault()方法真的做什么?
这个问题在这里已经有了答案:
简短的回答,从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>
标签最显着,因为您可能想阻止链接被跟踪。 但是,它也适用于键盘输入,触摸等等。
上一篇: what e.preventDefault() method really does?
下一篇: Javascript native equivalent for jQuery event.preventDefault