Показать сообщение отдельно
  #4 (permalink)  
Старый 24.06.2013, 13:21
Интересующийся
Отправить личное сообщение для AfraidAlex Посмотреть профиль Найти все сообщения от AfraidAlex
 
Регистрация: 21.05.2013
Сообщений: 19

Сообщение от 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
Ответить с цитированием