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, время: 14:26. |