2012-03-16 3 views
0

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

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

Использование JQuery, когда страница загружена я замена удалить текст с некоторым изображением как «X».

Следующий, когда нажимают на изображение, не стреляют.

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

В IE нет окна оповещения, но работает в firefox и chrome. Может ли кто-нибудь сказать мне решение для этого?

+2

На JQuery 1.7, метод .live() является устаревшим. Используйте .on() для присоединения обработчиков событий. – NimChimpsky

+1

И еще до jQuery 1.7 используйте 'delegate' (если вы действительно не застряли до 1.4.2). –

ответ

0

Я думаю, вам не хватает закрывающая скобка:


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

ИЛИ попробовать:


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

Извините, я забыл закрыть круглую скобку в сообщении, но я мой код я закрыл правильно. – nagesh

0

Я бы на месте нажмите на а:

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

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

0

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

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

Не то, чтобы это должно повлиять на результат много :)

Смежные вопросы