gpt4 book ai didi

javascript - Event.PreventDefault() 并不总是有效

转载 作者:行者123 更新时间:2023-11-28 04:56:31 27 4
gpt4 key购买 nike

我只是想制作一个快速用户脚本来防止网站在新选项卡中打开链接,这样我就可以选择何时这样做。天啊。

我想使用纯 JavaScript;我认为对于如此简单的任务来说已经足够了。我在 Quora 中进行了所有测试,因为我决定在 Quora 中编写这个小片段。

好吧,没有任何效果。我一开始很简单,但鉴于失败,我的代码变得更加疯狂:无论有多少个 PreventDefault()、return false、prevent[*]Propagation()、eventListeners,链接始终打开 ...甚至修改 dom 来删除 a来自其 target="_blank"的元素。

最后,我咬紧牙关,用这个小片段尝试了 jQuery:

$("a").click(function(event){
event.preventDefault();
alert("Was preventDefault() called: " + event.isDefaultPrevented());
});

但这也没有任何好处。所以我放弃了。然后我意识到该代码似乎可以在其他网站上运行。 Quora.com 除外。常规的 Quora 链接如下所示:

<a href="http://thewebsite.to/go"
rel="noopener nofollow"
target="_blank"
onclick="return Q.openUrl(this);"
class="external_link"
data-qt-tooltip="thewebsite.to"
data-tooltip="attached">
Link text
</a>

当然,那里有很多废话,但我一直在将属性一一剥离,直到只剩下骨架:<a href="http://thewebsite.to/go"></a>但仍然不起作用。最重要的是,即使链接打开,event.isDefaultPrevented()返回 true!

为什么会发生这种情况以及如何解决它?

最佳答案

您确定链接被选中吗?也许这有帮助:

$(document).on('click', 'a', function(e) {
e.preventDefault();
});

关于javascript - Event.PreventDefault() 并不总是有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42504458/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com