Javascript:为什么在这里使用preventDefault?

时间:2017-12-26 15:40:19

标签: javascript ajax forms events preventdefault

我一直在查看某人发布的一些代码,我不知道为什么他在这里使用了preventDefault。谁能告诉我为什么?

非常感谢你。 https://codepen.io/Sylvia31/pen/eygvVm

form.addEventListener('submit', function (e) {

   **e.preventDefault();**

   responseContainer.innerHTML = '';
   searchedForText = searchField.value;
   const imgRequest = new XMLHttpRequest();
   imgRequest.onload = addImage;
   imgRequest.onerror = function (err) {
      requestError(err, 'image');
   };

2 个答案:

答案 0 :(得分:3)

您可以从Event.preventDefault() MDN Reference看到:

  

preventDefault()方法告诉用户代理,如果事件没有得到明确处理,则不应该像通常那样采取默认操作。

使用表单,单击提交按钮的默认操作是submit表单,并将用户重定向到表单中定义的操作页面,并在preventDefault()中使用{ {1}}事件处理程序可以停止表单提交。

在您的情况下,此处使用submit来停止表单默认提交行为并执行替代代码块,在本例中为e.preventDefault()

答案 1 :(得分:0)

基本上,preventDefault用于取消或停止事件的正常行为。就像阻止提交按钮提交或阻止链接重定向一样。

此处,此人可能已使用preventDefault来阻止提交复选框。