gpt4 book ai didi

javascript - 我想动态地将事件附加到链接。但是 onclick 附加不起作用

转载 作者:行者123 更新时间:2023-11-30 23:53:26 26 4
gpt4 key购买 nike

所以我正在为这个网站编写一个 Greasemonkey 脚本。无论如何,我的问题是我无法将 onclick 事件附加到我新创建的 anchor 中。

我不知道出了什么问题,也许是因为我在 Greasemonkey,所以它没有按预期工作?

function createButton() {
var a = document.createElement('a');
var css = document.createElement('style');
css.type = 'text/css';
css.innerHTML = '#prt { position:absolute; right:3em; top: 6em; font-family: Arial,Helvetica,sans-serif; font-weight:bold; font-size:125%; background: #777777 none repeat scroll 0 0; color: white; padding: 6px 12px;}'
a.href = '#';
a.innerHTML = 'Print Topic';
a.id = 'prt';
a.onclick = getTopic; // DOESN'T WORK
document.body.insertBefore(a, document.body.lastChild);
document.body.appendChild(css);
}

我尝试了其他技术,例如 setAttribute

a.setAttribute('onclick', function() { alert("hey"); });

setAttribute 也不起作用..

怎么会呢?

大家好,

我成功了。有人帮助我通过 IRC#greasemonkey.. 谢谢 broquaint!!

因此,使用元素的 setAttribute 或 .onclick 属性的问题是 Greasemonkey 不支持它们,而是会在 JavaScript 控制台中返回“组件不可用”错误。

如果您之前遇到过此问题,则必须使用

element.addEventListener ('click', myClickHandler, false);

这是维基:http://wiki.greasespot.net/XPCNativeWrapper#Event_Handlers

最佳答案

使用 anchor 的attachEvent方法 -

a.attachEvent(getTopic)

编辑 - AttachEvent 仅适用于 IE。对于 Firefox,您必须使用 addEventListener -

a.addEventListener(getTopic)

关于javascript - 我想动态地将事件附加到链接。但是 onclick 附加不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/714323/

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