Сообщение от BK201
|
Здравствуйте!
Столкнулся с такой проблемой:
есть список итемов
<ul>
<li>Item-1
<li>Item-2
<li>Item-3
</ul>
На которые вешается событие по клику
$('ul li').bind('click', function(e, data){...}
С помощью JS добавляем в конец еще 1 итем <li>Item-4
$('<li>Item-4')appendTo($('ul'));
И вот проблема в том, что на этот новый итем уже не работает событие, которое повесил на другие.
Если я опять запущу инициализацию события, то Item-4 - работает, но Item 1-3 будут воспринимать по 2 клика.
Скорее всего, я что-то делаю не так. Как нужно цеплять событие на новый итем?
|
Сообщение от mta88
|
для этого есть метод 'on', простой и гениальный, и новые обработчики не нужны
$('ul').on('click', 'li', function() {})
this внутри функции будет указывать на 'li'
|
либо задать очередность. Сначала добавлять новый li, потом уже вешать обработчик.
p.s. у вас(автор) ужасный код, советую почитать спецификацию html и js