我尝试通过将鼠标悬停在其上来改变它。
HTML
<p id="foo"> Hello world! </p>
的Javascript
var foo = document.getElementById("foo");
foo.addEventListener("mouseover", ChangeText("Goodbye world!"));
function ChangeText(s) {
this.innerHTML = s;
}
然而该段落在悬停时不会改变。省略参数并直接键入字符串,它确实有效。为什么呢?
var foo = document.getElementById("foo");
foo.addEventListener("mouseover", ChangeText);
function ChangeText() {
this.innerHTML = "Goodbye world!";
}
答案 0 :(得分:1)
addEventListener想要一个函数作为第二个参数;所以,如果你用一个参数调用一个函数,你可以写:
foo.addEventListener("mouseover", function(event){
ChangeText("Goodbye world!",event.target)
});
function ChangeText(s,target) {
target.innerHTML = s;
}