Javascript Onmouseover事件在不需要时触发
我在学习javascript,并尝试鼠标事件。在这段代码中,当我在警告框的帮助下将鼠标放在元素上时,我试图操纵该元素。但是问题是,即使鼠标不在元素上方,也会显示警报框Javascript Onmouseover事件在不需要时触发,javascript,html,onmouseover,Javascript,Html,Onmouseover,我在学习javascript,并尝试鼠标事件。在这段代码中,当我在警告框的帮助下将鼠标放在元素上时,我试图操纵该元素。但是问题是,即使鼠标不在元素上方,也会显示警报框 测试 达斯达德 作为 document.getElementById(“k”).onmouseover=alert('Hello'); 尝试在中添加onmouseover=“mouseover()” function mouseover() { alert('Hello');
测试
达斯达德
作为
document.getElementById(“k”).onmouseover=alert('Hello');
尝试在中添加onmouseover=“mouseover()”
function mouseover() {
alert('Hello');
}
测试
达斯达德
as
函数mouseover(){
警惕(“你好”);
}
您需要将其放入这样的函数中
测试
达斯达德
作为
document.getElementById(“k”).onmouseover=function(){alert('Hello')};
试试这个(使用JQuery):
$(文档).ready(函数(){
$(“p”).mouseover(函数(){
警惕(“你好”);
});
});代码>
将鼠标指针移到此段落上
onmouseover的属性onmouseover
期望您为其分配函数,而不是分配表达式的求值,在本例中:alert(“hello”)
。因此,当文档加载时,它计算该表达式并显示警报,然后将null
值分配给onmouseover
属性,这就是警报只显示一次的原因
出于您的目标,您可以使用匿名函数包装警报并将其分配给属性。检查下一个示例:
测试
达斯达德
如图所示
document.getElementById(“k”).onmouseover=function(){alert('Hello')};
问题是,警报函数后的()
会导致在页面加载时调用函数,您会看到警报。调用匿名函数中的函数,该函数将确保仅在触发事件(onmouseover)时调用该函数:
document.getElementById(“k”).onmouseover=function(){alert('Hello')}代码>
dasdasd
正如通过执行
function()
(带括号),您正在执行函数,而不是传递它。相反,请执行onmouseover=function(){alert('Hello');}
此问题的可能重复项与jQuery无关。感谢您的帮助。非常感谢。