e.preventDefault阻止点击

时间:2012-08-21 22:51:18

标签: jquery

我有以下代码来测试e.preventDefault()的工作原理。 我认为它会阻止点击事件的发生。

     $(document).ready(function( )
     {

       $("button").click(function(e)
       {

         e.preventDefault();  

          alert('button clicked');

       });

      });

我有一个按钮。 e.preventDefault()的目的是什么? 根据我的阅读,它将阻止在这种情况下是点击的动作。

请注意,在上面的示例中,仍会显示警告消息。 e.preventDefault()如何用于按钮单击。我知道如果它是超链接,它会阻止超链接转到目标。

5 个答案:

答案 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()都会停止发生这种情况