我发现了一个示例任务,当您单击文档中的任意位置时,会在页面上显示警报。在这个任务中,你只需要编辑display()函数,该函数有两个参数 - myFunc和myObj,这样就可以显示人物对象的名字。我想出了类似的东西,但是警报只在页面刷新后出现,而不是在每次点击文档后出现。单击eventListener问题
function start() {
var person = {
name : "John"
};
function alertName() {
alert(""+this.name.toUpperCase() + "");
}
document.addEventListener('click', display(alertName, person));
}
function display(myFunc, myObj) {
name = myObj.name;
myFunc();
}
start();
这里是提琴:
function start() {
var person = {
name : "John"
};
function alertName() {
alert(""+this.name.toUpperCase() + "");
}
document.addEventListener('click', start(alertName, person));
}
function display(myFunc, myObj) {
name = myObj.name;
myFunc();
}
start();
body {
background-color:yellow;
}
<body>
</body>
这不是事件侦听器的工作方式。您不必在回调中选择参数。另外,由于包含了参数,所以在声明事件侦听器时执行函数_at。你需要传递一个_reference到一个function_。你在技术上做的是将display()函数的_result作为回调参数。这是没有意义的,因为该函数不返回任何东西。而你的小提琴不起作用,因为你调用了一个不存在的函数,并且它与这里的示例不匹配。在发布之前检查你的东西:-) – ADyson
那里没有jquery - 你打算单独使用jquery还是javascript? –