OnClick 事件在我的 chrome 扩展程序中不起作用
OnClick event doesn't work in my chrome extension
我做了一个小扩展,将按钮插入 html 页面,并且我在每个按钮上插入了 onClick
事件,但是当我按下它们时它们不起作用。我在这个网站上找到了一些主题,有人在谈论 addEventListener
,但我无法使用它。我的代码是这样的:
var setButton = "<button type='button' id='setter2' onclick=Set_one(this.id)>set</button>";
var str = getRow.insertCell(-1);
str.innerHTML = setButton;
在 Chrome 个扩展中,内联代码是 forbidden. You cannot use onclick
attribute at all for extension scripts, and CSP cannot be relaxed。
您必须使用 addEventListener
才能使其正常工作。这并不难,并且在上面链接的文档中有所介绍。
var setButton = "<button type='button' id='setter2' onclick=Set_one(this.id)>set</button>";
var str = getRow.insertCell(-1);
str.innerHTML = setButton;
document.getElementById("setter2").addEventListener("click", function() {
Set_one(this.id);
});
如果您不使用 innerHTML
赋值并直接使用 create/append 元素,那就更好了:
var setButton = document.createElement("button");
setButton.textContent = "set";
setButton.id = "setter2";
setButton.addEventListener("click", function() {
Set_one(this.id);
});
getRow.insertCell(-1).appendChild(setButton);
我做了一个小扩展,将按钮插入 html 页面,并且我在每个按钮上插入了 onClick
事件,但是当我按下它们时它们不起作用。我在这个网站上找到了一些主题,有人在谈论 addEventListener
,但我无法使用它。我的代码是这样的:
var setButton = "<button type='button' id='setter2' onclick=Set_one(this.id)>set</button>";
var str = getRow.insertCell(-1);
str.innerHTML = setButton;
在 Chrome 个扩展中,内联代码是 forbidden. You cannot use onclick
attribute at all for extension scripts, and CSP cannot be relaxed。
您必须使用 addEventListener
才能使其正常工作。这并不难,并且在上面链接的文档中有所介绍。
var setButton = "<button type='button' id='setter2' onclick=Set_one(this.id)>set</button>";
var str = getRow.insertCell(-1);
str.innerHTML = setButton;
document.getElementById("setter2").addEventListener("click", function() {
Set_one(this.id);
});
如果您不使用 innerHTML
赋值并直接使用 create/append 元素,那就更好了:
var setButton = document.createElement("button");
setButton.textContent = "set";
setButton.id = "setter2";
setButton.addEventListener("click", function() {
Set_one(this.id);
});
getRow.insertCell(-1).appendChild(setButton);