我们什么时候需要在 JavaScript 中调用 Prevention Default?



我在单击事件时将事件侦听器附加到几个列表项。 在下面的函数click_handler中,在我做任何事情之前,我调用 e.preventDefault((。 但我不确定我是否需要这里。 我知道此调用会阻止任何默认操作,但我仍然不确定我们何时需要它。 在这种情况下, 单击这些项目时,我确实希望在新选项卡中打开与之关联的URL,并且确实将一些数据传递给Google Analytics脚本。

.html

<ul>
<li><a class='linkitems' href="..."></a></li>
<li><a class='linkitems' href="..."></a></li>
...
</ul>

js 文件

document.getElementsByClassName("linkitems").addEventListener("click", click_handler);
function click_handler(e) {
e.preventDefault();
//pass link data for google analytics
}

如果它是刷新所有页面的东西,并且你想阻止它。 就像当您在表单上按下提交按钮时,它会刷新并重新呈现所有页面,因此使用 preventDefault 您可以阻止此默认值

通常,函数e.preventDefault()用于避免标签的标准行为(关联的默认行为,例如文本输入、链接<a>等。

在您的情况下,这是无用的,因为默认情况下您没有提交按钮或与<li>标签关联的某些事件。

参考: https://www.w3schools.com/jsref/event_preventdefault.asp

最新更新