:有没有办法检查某个元素的mouseover事件是否已被触发?
如果是,怎么样?
Ť
答案 0 :(得分:2)
var mousedOver = [];
function addToMousedOverElements(obj) {
mousedOver[mousedOver.length] = obj;
}
您可以创建一个回调函数,将moused over元素添加到列表中。
<a href="#" onmouseover"addToMousedOverElements(this);">mouseover me!</a>
或类似的东西。然后,这将允许您引用已被鼠标悬停的每个元素。在将其添加到列表之前,您可能还需要检查该元素是否已被鼠标悬停。
答案 1 :(得分:1)
假设您想要跟踪一堆元素上的鼠标悬停事件。因为,鼠标悬停事件在JS中冒泡,所以将onmouseover处理程序附加到作为这些元素的父节点的节点。 请考虑以下html:
`<div id="parent">
<div id='div1'>Track mouseover on me</div>
<div id='div2'> Track mouse over on me too.</div>
</div>
因此,对于这样的HTML,您可以将处理程序附加到名为“父”的div,如
document.getElementById('parent').onmouseover = function(e){
e = e|| window.event;
if(e.target.id=='div1')
//handle mouseover for first div;
};
`
等等。像这样,你可以为一堆元素设置一个通用的函数处理程序。
答案 2 :(得分:0)
例如对于div:
<div onmousemove="alert('doSomething')">waiting for mouse over...</div>
您可以使用任何javascript函数替换alert
。
此处有更多信息:Javascript - Mouse Events。
答案 3 :(得分:0)
这就是工作:
<head>
<script language="JavaScript">
function myFunction(){
alert('Mouse over!!!')
}
</script>
</head>
<body>
<div id="myDiv" onmouseover="myFunction()">
Mouse over here...
</div>
</body>
答案 4 :(得分:0)
处理原始Javascript可能很麻烦,尤其是跨浏览器。你最好使用像jQuery这样的库来处理这个问题: jQuery onMouseOver
虽然这些库确实会增加您网页的大小,但您仍然可以通过使用CDN获得良好的性能,例如: Google's AJAX CDN Microsoft's AJAX CDN