jQuery - проблема с .on
Погуглив, нашел пример для .on
<script>$("div.test").on({ click: function(){ $(this).toggleClass("active"); }, mouseenter: function(){ $(this).addClass("inside"); }, mouseleave: function(){ $(this).removeClass("inside"); } });</script> Скрипт работает, но вот проблема в следующем, подгружаю контент с помощью ajax и этот скрипт не работает для нового контента. Вообщем, не знаю что делать.:) Подскажете? |
Сделайте это в функции...
Чтобы функция запускалась. При нажатии или что там... Либо: Подгружать скрипт в том месте где контент. И библиотеки не забудь подключить. Иначе не видит, что ему передают и что там такое вообще. |
У on есть особенности, напрямую оно и не будет работать, надо примерно так (div.test - он подгружается динамически):
$(document).on('click', 'div.test', functon(){alert('aaaa')}); |
Цитата:
|
Цитата:
|
В моем случае это работает только для существующих элементов:
$('#tablelist tr').on({ mouseenter: function(){ alert(1) }, mouseleave: function(){ alert(2) } }); Как переписать скрипт, чтобы он работал и для новых элементов? |
Я не парился и писал для каждого события отдельно.
Это не оно .on( events-map [, selector] [, data] ) ? |
Цитата:
|
А про карту событий для кого пишут?
Во, разобрался, и для себя тоже $(document).ready(function(){ $('body').append('<div id="dnew">new</div>') $(document).on({ click:function(){alert('a1')}, mouseout:function(){$(this).css('color', 'red')}, mouseenter:function(){$(this).css('color', 'green')} }, '#dnew') }); Пример http://learn.javascript.ru/play/l1qUkb |
Работает, спасибо.
|
Часовой пояс GMT +3, время: 10:50. |