我试图在JavaScript中创建一个可以设置HTML按钮的onClick
属性的函数。
所以,说我有这个作为我的职能:
function myFunc(action){
document.getElementById('mybtn').setAttribute("onClick", action);
}
这样会将
mybtn
的属性onClick
设置为变量action
(应该是一个函数)的内容。因此,如果我运行如下函数:
myFunc(function(){
alert("Hello, World!");
});
然后将变量
action
设置为function (){
alert("Hello, World!");
}
如果我如图所示运行
myFunc
,它将成功将action
的内容添加到按钮的onClick
属性中。唯一的问题是,如果在运行myFunc
后单击该按钮,只会出现一个错误。它说:未捕获到的SyntaxError:意外 token (
我认为这是因为在
onClick
属性中,无法定义新功能。我如何只获取
action
变量中的函数内部内容? 最佳答案
您可以添加事件侦听器,而不用像这样更改onclick的属性:
function myFunc(action) {
document.getElementById('mybtn').addEventListener('click', action);
}
myFunc(function() {
alert('foo');
});
<button id="mybtn">Foo</button>