当我用鼠标悬停在文本上时,我正试图让文本“测试”改变颜色。我正在使用命名空间,我似乎无法弄清楚它为什么不起作用。有人有任何建议吗?谢谢。
var $MinNamespace = {};
$MinNamespace.mouseOver = function() {
document.getElementById("text").style.color = "blue";
}
$MinNamespace.mouseOut = function() {
document.getElementById("text").style.color = "black";
}
document.getElementById("text").onmouseover = $MinNamespace.mouseOver();
document.getElementById("text").onmouseout = $MinNamespace.mouseOut();
<div id="text" style="font-size:100px;">Test</div>
答案 0 :(得分:1)
您正在将mouseOver
/ mouseOut
的结果分配给事件处理程序。这些功能没有结果,所以没有任何反应。
代码必须如下所示(注意每行末尾缺少括号)。
document.getElementById("text").onmouseover = $MinNamespace.mouseOver;
document.getElementById("text").onmouseout = $MinNamespace.mouseOut;
以这种方式使用它,您将函数而不是相同函数的返回值分配给事件处理程序。