我有以下代码来测试e.preventDefault()的工作原理。 我认为它会阻止点击事件的发生。
$(document).ready(function( )
{
$("button").click(function(e)
{
e.preventDefault();
alert('button clicked');
});
});
我有一个按钮。 e.preventDefault()的目的是什么? 根据我的阅读,它将阻止在这种情况下是点击的动作。
请注意,在上面的示例中,仍会显示警告消息。 e.preventDefault()如何用于按钮单击。我知道如果它是超链接,它会阻止超链接转到目标。
答案 0 :(得分:7)
preventDefault是为了防止默认的浏览器操作。所以,如果你要提出类似的东西:
$("a").click(function(e){e.preventDefault();})
点击链接将无所作为。或者在提交按钮 - 表单将不会被提交
答案 1 :(得分:0)
它阻止的是DOM对象接收“点击”。因此,如果您要提交表单,则不会立即提交。之后alert()
将被执行,不管你说什么,嘿!停止点击,然后执行此操作!
更多阅读
答案 2 :(得分:0)
它无法阻止点击发生,因为你在那里设置了一个事件处理程序,在事件触发后执行。
答案 3 :(得分:0)
$.preventDefault();
会阻止“默认”操作发生。例如,如果您使用已分配了href
的锚链接,然后将preventDefault();
添加到所述锚点,则它将不再链接。
答案 4 :(得分:0)
您需要记住,如果不添加自己的Click回调功能,仍然会在浏览器中触发一个事件 - 例如对于“a”标记,这将是在href属性中加载URL,对于提交按钮,它将在“Action”属性中的Post / Get到URL中 - 在这两种情况下,e.preventDefault()都会停止发生这种情况