我正在使用JavaScript动态创建一个按钮,同时分配"ID","类型"等属性以及"onclick"以触发函数.
除了'onclick'的分配之外,一切都很好.单击时,该按钮不会按预期触发该功能.我正在尝试运行的功能是'导航(-1)',如下所示.
我哪里错了?
这是我的代码:
function loadNavigation() {
var backButton;
backButton = document.createElement('input');
backButton.ID = 'backButton';
backButton.type = 'button';
backButton.value='Back';
backButton.onclick = 'navigate(-1)';
document.body.appendChild(backButton);
}
Run Code Online (Sandbox Code Playgroud)
nic*_*ico 22
正如对方所说,你应该分配一个功能.
只是想指出在这种情况下你想要传递一个值,所以你需要分配一个匿名函数(或内联定义的命名函数),如
button.onclick = function() {otherfunction(parameter)};
Run Code Online (Sandbox Code Playgroud)
如果要分配的功能不需要参数,则可以直接使用它
button.onclick = otherfunction;
Run Code Online (Sandbox Code Playgroud)
请注意,在这种情况下没有括号
button.onclick = otherfunction(); // this doesn't work
Run Code Online (Sandbox Code Playgroud)
将无法正常工作,otherfunction
因为它将在解析后立即调用