我试图通过参数来实现功能。当我点击div时,它会提醒我通过的参赛者
我有2个文件
这是我尝试的内容
示例1
的index.html
<div id="thediv" >
的script.js
window.onload = initialize;
//bind event listener
function initialize(){
document.getElementById("thediv").onclick = myFunction(" something ");
}
//end of bind
//function
function myFunction(parameter) { alert( parameter ) };
//end of all function
示例2
的index.html
<div id="thediv" onclick="myfunction('something')" >
的script.js
function myFunction(parameter) { alert( parameter ) };
我该怎么办?或者我可以这样做吗? (我不想使用其他图书馆)
答案 0 :(得分:3)
放置()
(其中包含任意数量的参数)将调用一个函数。然后将返回值(在这种情况下为undefined
)指定为事件处理程序。
如果要分配功能,则需要自行传递功能。
...onclick = myFunction;
如果你想在调用它时给它参数,那么最简单的方法是创建一个新函数并分配它。
...onclick = function () {
myFunction("arguments");
};
答案 1 :(得分:2)
而不是指定您使用myFunction();
调用函数
像这样使用它
//bind event listener
function initialize(){
document.getElementById("thediv").onclick = function(){
myFunction(" something ");
}
}
答案 2 :(得分:2)
你的第一个解决方案逻辑绝对正常..只需要指定一个委托 ...你正在做的是调用函数..所以做这样的事情......
//bind event listener
function initialize(){
document.getElementById("thediv").onclick = function () { myFunction(" something "); };
}
//end of bind