【发布时间】:2017-10-14 18:27:56
【问题描述】:
我正在尝试调用 mouseover 和 mouseout 的函数。我尝试了各种不同的解决方案,但都没有成功。
这就是我所在的位置。请解释解决方案,因为我有兴趣了解问题,而不仅仅是寻求快速解决方案。
function MouseOver(elem) {
document.getElementsByName(elem).style.color("white");
}
function MouseOut(elem) {
document.getElementsByName(elem).style.color("black");
}
<nav id="frame-link">
<a href="index.html" name="home" onmouseover="MouseOver(this);" onmouseout="MouseOut(this);">Home</a>
</nav>
【问题讨论】:
-
this在你的上下文中将引用元素本身,你不需要重新查询它的 dom。将您的函数体更改为elem.style.color = blah;也,.style.color不是函数。您应该在控制台中得到错误解释。 -
按 F12 并转到控制台选项卡。在您的页面上点击刷新。
-
不要使用内联 HTML 事件处理属性。请参阅此处了解原因:stackoverflow.com/questions/43459890/…
-
为什么不直接使用 CSS 悬停效果?我相信它会提供相同的预期结果。
-
@ThomasJuranek 是正确的,对于简单地更改悬停时文本的颜色,使用 css 会好得多。但是对于您关于为什么这不起作用的问题,@rlemon 是正确的。您可以将
document.getElementsByName(elem).style.color("white");更改为elem.style.color = "white"
标签: javascript mouseover mouseout