我正在尝试触发javascript onMouseOver事件,而不会在我的每个锚属性上都有onMouseOver属性。实际上,当用户将鼠标悬停在元素上时,我想显示一些其他锚点,但我甚至无法获得工作警报。我一直收到错误:
Uncaught TypeError: Cannot call method 'getElementsByTagName' of null
这对我没有意义,因为如果我提醒getElementById()
我最终会得到一个DIV元素,然后它应该获得该div元素中的所有锚标记...不确定我是什么我失踪了。
JSFiddle Link:http://jsfiddle.net/NfTtq/
还要注意我正在做这个Javascript而不是JQuery:S
答案 0 :(得分:3)
您试图在元素存在之前找到它,您可以在jsfiddle中通过从左侧选择onDomReady
而不是no wrap (head)
另一个问题是onMouseOver
,javascript区分大小写,因此只有onmouseover
才有效。
这是更新的jsfiddle:
答案 1 :(得分:1)
您在加载html之前正在执行脚本,因此您需要将其放入window.onload
window.onload= function()
{
var node = document.getElementById('navFloat').getElementsByTagName('a');
node[0].onmouseover = function()
{
alert('yes');
document.getElementById('homeDrop').style.display = 'block';
}
}
答案 2 :(得分:0)
在DOM上调用时,onMouseDown事件仅以小写大写形式编写。这对我有用:
var node = document.getElementById('navFloat').getElementsByTagName('a');
node[0].onmouseover= function()
{
document.getElementById('homeDrop').style.display = 'block';
}
答案 3 :(得分:0)
此代码适用于所有浏览器.....
<p>
<a href="/">
<img alt="Ovdje uključiti "
src="errorimages/normal.png"
onmouseover="this.src='errorimages/hover.png'"
onmousedown="this.src='errorimages/press.png'"
onmouseup="this.src='errorimages/hover.png'"
onmouseout="this.src='errorimages/normal.png'"
></a>
</p>