0

我正在编写一个 chrome 扩展,我希望按钮由于某些用户的操作而出现在弹出页面中(比如说,在他通过弹出页面登录到我的网站之后)。 文档指出内联 JavaScript 将不会被执行,建议的实现方式是使用

document.addEventListener('DOMContentLoaded', function () {
 document.querySelector('#button1').addEventListener('click', clickHandler);
});

当 'button' 是 popup.html 中的标签时。

但事情是这样的:我不希望按钮在页面加载时出现,如上所述。当我尝试使用$("#some_div").append(<button id="button1">...<button>)然后调用 document.addEventListener 添加按钮时,似乎 document.querySelector 没有找到附加的按钮(实际上它返回 null),因为它不是原始 popup.html 的一部分。

到目前为止,我想到的唯一解决方案是将 popup.html 中的按钮添加为隐藏,并在需要时将其设置为可见。

任何其他想法(或者,希望我都错了)将不胜感激。

4

1 回答 1

0

您可以尝试使用创建按钮var newButton = document.createElement('button')并使用appendChild而不是append. 然后你就可以写了newButton.addEventListener('click', clickHandler)

于 2012-11-24T09:47:57.033 回答