Вам нужно делегирование события.Вместо того, чтобы прикреплять отдельных слушателей к каждой из строк в настоящее время в таблице, вы присоединяете только одну к контейнеру (#table) и передаете селектор (tr), чтобы соответствовать целям событий (так как события всплывают изнутри таблицы, если не прекращены с использованиемstopPropagation()
).
Используя jQuery 1.7+, вы можете использовать функцию $(container).on(event, selectorString, func)
, равную $(container).delegate(event, selectorString, func)
в jQuery <1.7. </p>
Вызов on()
без среднего аргумента,как $(my_rows).on(event, func)
, будет равен 1,7 эквивалента $(my_rows).bind('mouseover', func)
, который применяется только к элементам в настоящее время в DOM.
jQuery(document).ready(function() {
jQuery('#example').
on('mouseover', 'tr', function() {
jQuery(this).find('span:first').show();
}).
on('mouseout', 'tr', function() {
jQuery(this).find('span:first').hide();
});
});