我试着通过将鼠标悬停在它上面来改变它。
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!";
}
addEventListener想要一个函数作为第二个参数;所以,如果你用一个参数调用一个函数,你可能会写:
foo.addEventListener("mouseover", function(event){
ChangeText("Goodbye world!",event.target)
});
function ChangeText(s,target) {
target.innerHTML = s;
}