Как правильно сделать событие onmouseout для UL? - PullRequest
4 голосов
/ 21 июня 2011

Проверьте этот простой код:

<ul onmouseout='alert(1)'>
    <li>aaaaaaaaaaaaaaaaaaaaaaaa</li>
    <li>bbbbbbbbbbbbbbbbbbbbbbbbb</li>
    <li>ccccccccccccccccccccccccc</li>
</ul>

Событие onmouseout происходит, даже когда я нахожусь внутри UL, пересекающего LI с помощью мыши.

Это с FireFox, как я могу сделать это правильно, поэтому событие запускается, когда я действительно покидаю UL?

Ответы [ 2 ]

5 голосов
/ 21 июня 2011

Для этого можно использовать функции jQUery mouseout или jQuery mouseleave , То же самое существует для Mootools .

РЕДАКТИРОВАТЬ

Событие отключения мыши будет вызываться всякий раз, когда вы выходите из одного li и переходите к следующему, но отпускание мыши запускается только при выходе из всего div

$('#id').mouseleave(function(){
alert("left the div");  
});
3 голосов
/ 21 июня 2011

Проблема из-за стрельбы мышью на ли. Так что вам нужно предотвратить всплывающее событие li.mouseout

читать дальше http://www.quirksmode.org/js/events_order.html

...