gpt4 book ai didi

javascript - 覆盖 Javascript 中链接 ('a' ) 对象的默认行为

转载 作者:行者123 更新时间:2023-12-02 23:37:40 26 4
gpt4 key购买 nike

我不知道我想要完成的事情是否可能实现。我想覆盖给定 HTML 页面的所有 anchor 对象(A 标记)的默认行为。我知道我可以循环遍历所有 A 元素,并从 body 元素 onload 方法动态添加对每个元素的 onclick 调用,但是我正在寻找更绝对的解决方案。我需要的是为所有 A 元素分配一个 onclick 操作,该操作调用一个将元素 href 属性作为参数传递的方法,因此以下:

<a href="http://domain.tld/page.html">

动态变为:

<a href="http://domain.tld/page.html" onclick="someMethodName('http://domain.tld/page.html'); return false;">

就像我说的,执行此操作的理想方法是在文档加载时以某种方式完全覆盖 Anchor 类。如果不可能,那么我将诉诸循环遍历所有 A 元素的方法(我已经知道该怎么做)。

最佳答案

如果您不想迭代所有 anchor 元素,则可以简单地使用 event delegation ,例如:

document.onclick = function (e) {
e = e || window.event;
var element = e.target || e.srcElement;

if (element.tagName == 'A') {
someFunction(element.href);
return false; // prevent default action and stop event propagation
}
};

检查上面的例子here .

关于javascript - 覆盖 Javascript 中链接 ('a' ) 对象的默认行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1760096/

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