关于preventDefault的jquery澄清

时间:2011-09-16 11:21:14

标签: jquery function preventdefault

http://api.jquery.com/event.preventDefault/

“如果调用此方法,则不会触发事件的默认操作。”

“默认操作”是指人们点击超链接时从其他页面重定向,就我在示例代码中所观察到的那样。

此功能还有其他用途吗?

它如何与表单互动?

4 个答案:

答案 0 :(得分:4)

正如您所说,preventDefault会阻止触发事件的默认操作。事件的默认操作取决于事件的类型和事件目标。

例如,如果复选框的单击事件处理程序中使用了preventDefault,则单击时不会选中该复选框。如果它在keydown事件处理程序中用于文本输入,则按下的键不会写入输入值。如果它在表单的submit事件处理程序中使用,则会阻止表单提交。

基本上,它会阻止任何事件执行默认情况下执行的操作。

答案 1 :(得分:2)

preventDefault会阻止发生默认事件,例如,如果我们将以下代码链接到表单 -

$('#form').submit(function(e) {
  alert('Handler for .submit() called.');
  e.preventDefault();
});

e.preventDefault()调用将阻止提交表单,因为这是表单提交时通常会发生的默认事件。

答案 2 :(得分:1)

它会阻止元素的默认操作,无论该默认操作是什么。

对于表单和输入,响应点击等,它会阻止检查单选按钮或复选框,这会阻止单击{{时提交表单(或指定的任何操作) 1}}按钮。

答案 3 :(得分:1)

preventDefault()会阻止浏览器对指定事件的任何默认操作。

preventDefault()有许多实际用途,我已经为您总结了一些。您还可以在此找到有关表单的问题的答案。

它会阻止:

  • 点击提交按钮提交表单
  • 按Enter键提交表单
  • 有时它也可以阻止滚动
  • Keypress行动也。
  • 右键单击浏览器菜单
  • 点击链接
  • 上的中间按钮时打开新标签页
  • 点击左键打开链接,如上所述,

还有很多