живой метод jQuery не работает - PullRequest
0 голосов
/ 16 марта 2012

Я генерирую тег img динамически. И выполнение события клика на этом. Для этого я использовал живой метод jQuery. Он отлично работает в Mozilla Firefox и Google Chrome, но не работает в IE. Вот мой код,

 <div class="itemremove"><a href="action">remove</a></div>

Используя jQuery при загрузке страницы, я заменяю текст удаления на какое-то изображение, например 'X'.

$(".itemremove a").text(""); // deleting text
$(".itemremove a").append("<img class='removeImg' alt='Remove' 
src='remove_item.png'>"); // adding image in that place

Далее при нажатии на изображение событие не срабатывает.

 $(".removeImg").live("click", function(){
  alert("Item removed");
 });

Нет предупреждения в IE, но работает в Firefox и Chrome. Кто-нибудь может сказать мне решение для этого?

Ответы [ 3 ]

0 голосов
/ 16 марта 2012

Я бы поставил клик на:

$(".itemremove a").live(...

Но я бы использовал фон для размещения изображения и использовал бы текстовый отступ: -10000 для текста.Таким образом, это доступно, и вам не нужно использовать javascript, который является второй опцией для css.

0 голосов
/ 16 марта 2012

.live () устарело с jQuery 1.7 (http://api.jquery.com/live/#live-events-map). Его заменили на .on ():

$(".itemremove a").on("click", function(){
  alert("Item removed");
});

Не то чтобы это сильно повлияло на результат:)

0 голосов
/ 16 марта 2012

Полагаю, вам не хватает закрывающей скобки:


$(".removeImg").live("click", function(){
  alert("Item removed");
}
); //this one

ИЛИ попробуйте:


$(".itemremove a").live("click", function(){
  alert("Item removed");
});
...