4

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

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

正如我在示例代码中观察到的那样,“默认操作”意味着当人们单击超链接时将他们从不同的页面重定向。

这个功能还有其他用途吗?

它如何与表单交互?

4

4 回答 4

4

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

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

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

于 2011-09-16T11:26:43.307 回答
2

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

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

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

于 2011-09-16T11:26:41.193 回答
1

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

在表单和输入的情况下,响应单击等,它会阻止检查单选按钮或复选框,它会阻止在单击submit按钮时提交表单(或指定的任何操作)。

于 2011-09-16T11:24:26.593 回答
1

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

有很多实际用途preventDefault(),我为大家总结了一些。您还将在此找到有关表单的问题的答案。

它可以防止:

  • 单击提交按钮时提交表单
  • 按下回车提交表单
  • 有时它也可以防止滚动
  • 按键动作也。
  • 右键单击浏览器菜单
  • 单击链接上的中间按钮时打开新选项卡
  • 正如您所提到的,在单击左键时打开链接,

而且有很多

于 2011-09-16T11:28:05.050 回答