2009-10-07 4 views

ответ

0

Работа с необработанным Javascript может быть хлопотной, особенно кросс-браузер. Вы лучше с помощью библиотеки, как JQuery, чтобы справиться с этим: jQuery onMouseOver

Хотя такие библиотеки имеют тенденцию увеличивать размер ваших веб-страниц, вы можете получить хорошую производительность при использовании CDN, такие как: Google's AJAX CDN Microsoft's AJAX CDN

+2

На самом деле это не относится к вопросу. – Tres

+0

Вопрос был: Есть ли способ проверить, произошло ли событие mouseover для какого-либо элемента? Мой ответ был jQuery onMouseOver. Насколько это могло бы быть? – Andrew

0

, например, для DIV:

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

вы можете заменить 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

+0

+1 так как подход прав. – JCasso

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, вы можете прикрепить обработчик к DIV под названием 'родитель', как

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

и так далее. Таким образом, вы можете иметь общий обработчик функций для группы элементов.

Смежные вопросы