2009-05-31 7 views
1

У меня есть таблица внутри Div, содержащая 8 изображений, я хочу запустить событие mouseout для таблицы или div, но она не срабатывает. Я предполагаю, что это потому, что мышь на самом деле оставляет каждое изображение, или td, или tr и т. Д. ... есть способ получить событие mouseout для всей таблицы, чтобы она распространялась так, чтобы она срабатывала даже от дочерних элементов? Разметка прямо вперед:Получение события jQuery mouseout для запуска всех дочерних элементов

<div id=container> 
    <table id="tbl"> 
    <tr> 
     <td><img src=""></td> 
     <td><img src=""></td> 
     <td><img src=""></td> 
     <td><img src=""></td> 
    </tr> 
    <tr> 
     <td><img src=""></td> 
     <td><img src=""></td> 
     <td><img src=""></td> 
     <td><img src=""></td> 
    </tr> 
    </table> 
</div> 

и мой JQuery код:

$("#tbl").mouseout(function(){ 
    alert("out home"); 
}); 

Я не могу стрелять отдельную MouseOut события для изображений, потому что иногда совершенно размещены элементы над ними, которая приводит к тому, событие mouseout должно быть уволено преждевременно.

ответ

2

Должно быть:

$("#tbl").mouseout(function(){ 
    alert("out home"); 
}); 

Вы пропустили "#". Если вы хотите только изображения, попробуйте:

$("#tbl >img").mouseout(function(){ 
    alert("out home"); 
}); 

PS. Вы считали, что вместо этого используете $ ("..."). Hover()?

+0

Эй, извините .. я плохо для этого! Я слишком сильно выделяю свой код, у меня есть «#» внутри моего фактического js-файла ... что-нибудь еще? – Fermin

+0

действительно ли элемент, расположенный на месте, хорошо перекрывает таблицу? –

+0

Я перечитал ваше сообщение и понял, что не совсем понимаю, не работает ли ваш код вообще или частично, и какой эффект вы пытаетесь получить? –

0

Разве вы не должны использовать #tbl для выбора таблицы?

$("#tbl").mouseout(function(){ 
    alert("out home"); 
}); 
0

Используйте mouseleave событие, которое имеет точно такую ​​же функциональность, но это не срабатывает с дочерними элементами.

$("#tbl").bind("mouseleave",function(){ 
    alert("out home"); 
});