我当时正在学习javascript和实验鼠标事件。在这段代码中,当我通过一个警告框将鼠标放在元素上时,我试图操纵它。但是,问题是,即使鼠标不在元素上,也会显示警报框。
<!DOCTYPE html>
<html>
<head>
<title>testing</title>
</head>
<body>
<a>dasdasd</a>
<p id="k">as</p>
<script type="text/javascript">
document.getElementById("k").onmouseover=alert('Hello');
</script>
</body>
</html>
发布于 2018-12-06 04:18:04
属性onmouseover期望将一个函数赋给它,而不是分配表达式的计算值,在本例中是:alert("hello")。因此,当文档加载时,它计算该表达式并显示警报,然后将一个null值分配给onmouseover属性,这就是警报只显示一次的原因。
对于您的目标,您可以使用匿名函数将警报包装起来,并将其放入属性中。请检查下一个示例:
<!DOCTYPE html>
<html>
<head>
<title>testing</title>
</head>
<body>
<a>dasdasd</a>
<p id="k" style="border: 1px solid red">as</p>
<script type="text/javascript">
document.getElementById("k").onmouseover = function() {alert('Hello')};
</script>
</body>
</html>
发布于 2018-12-06 04:17:00
尝试在onmouseover="mouseover()"中添加<p>
function mouseover() {
alert('Hello');
}
<!DOCTYPE html>
<html>
<head>
<title>testing</title>
</head>
<body>
<a>dasdasd</a>
<p id="k" onmouseover="mouseover()">as</p>
<script type="text/javascript">
function mouseover() {
alert('Hello');
}
</script>
</body>
</html>
发布于 2018-12-06 04:17:01
你需要把它放在像这样的函数里。
<!DOCTYPE html>
<html>
<head>
<title>testing</title>
</head>
<body>
<a>dasdasd</a>
<p id="k">as</p>
<script type="text/javascript">
document.getElementById("k").onmouseover = function(){alert('Hello')};
</script>
</body>
</html>
https://stackoverflow.com/questions/53644539
复制相似问题