"的onmouseover"和" onmouseout"不工作

时间:2014-07-19 19:05:02

标签: javascript html

我试图实现一些非常简单的事情。每当用户将鼠标悬停在元素上时,我希望运行一个JavaScript函数,使另一个div可见。我尝试使用onmouseoveronmousedown来实现这一目标,但它似乎并不像我想要的那样工作。

我设置了一个小提琴here

1 个答案:

答案 0 :(得分:2)

为我工作。

javascript代码包装在<head>中。

如下:

<html>
<head>
<script type="text/javascript">
function showMenu() {
    document.getElementById("menu").style.display = "block";
}

function hideMenu() {
    document.getElementById("menu").style.display = "none";
}
</script>
</head>
<body>
<div id="button" onmouseover="showMenu()" onmouseout="hideMenu()"></div>
<div id="menu"></div>
</body>
</html>

http://jsfiddle.net/L4Hzw/8/

或者您可以使用:window.function_name=function(){ }使代码正常工作,而不将其包含在<head><script>

如下:

<script type="text/javascript">
window.showMenu=function() {
    document.getElementById("menu").style.display = "block";
}

window.hideMenu=function() {
    document.getElementById("menu").style.display = "none";
}
</script>

http://jsfiddle.net/L4Hzw/10/

在你的小提琴中,它没有奏效,因为你没有定义时调用函数showMenuhideMenu。因此要消除它(为当前窗口中的当前文档定义它们)我们可以使用window.function_name=function(){ }其中window是javascript中的全局对象,引用文档父元素(方法2)

OR

我们可以预定义当前文档的<head>标记中的函数。 (方法1)