2009-10-07 48 views

回答

0

处理原始Javascript可能很麻烦,特别是跨浏览器。你是最好关闭使用像jQuery库来处理这个问题: Google's AJAX CDN Microsoft's AJAX CDN

jQuery onMouseOver

虽然这样的库确实会增加你的网页的大小,你仍然可以通过使用CDN,如获得好的性能

+2

这个问题并不真正。 – Tres 2009-10-09 03:44:25

+0

问题是:有没有办法检查某个元素的mouseover事件是否已经触发? 我的回答是jQuery onMouseOver。它可以有多少关系? – Andrew 2009-10-09 07:44:05

0

例如,对于一个div:

<div onmousemove="alert('doSomething')">waiting for mouse over...</div> 

您可以通过任何JavaScript函数替换alert

更多的信息在这里:Javascript - Mouse Events

2
var mousedOver = []; 

function addToMousedOverElements(obj) { 
    mousedOver[mousedOver.length] = obj; 
} 

您可以创建一个回调以将moused over元素添加到列表中。

<a href="#" onmouseover"addToMousedOverElements(this);">mouseover me!</a> 

或者类似的东西。这将允许您引用每个被蒙上阴影的元素。在将其添加到列表中之前,您可能还需要检查该元素是否已经被挖空。

+0

你能告诉我你为什么投我失望吗? – Tres 2009-10-09 03:44:59

+0

+1因为方法是正确的。 – JCasso 2009-10-09 22:22:08

0

这做工作:

<head> 
    <script language="JavaScript"> 
     function myFunction(){ 
      alert('Mouse over!!!') 
     } 
    </script> 
    </head> 
    <body> 
     <div id="myDiv" onmouseover="myFunction()"> 
      Mouse over here... 
     </div> 
    </body> 
1

让我们假设你想在一堆元素的追踪鼠标悬停事件。由于mouseover事件在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,可以将处理器连接到名为“父”的格状

document.getElementById('parent').onmouseover = function(e){ 
e = e|| window.event; 
if(e.target.id=='div1') 
    //handle mouseover for first div; 
}; 
` 

等。像这样,你可以为一堆元素设置一个通用的函数处理函数。

相关问题