jQuery live方法不起作用

时间:2012-03-16 11:24:25

标签: jquery dynamic live

我正在动态生成img标签。并执行点击事件。为此,我使用了jQuery live方法。它在Mozilla Firefox和谷歌浏览器中工作正常但在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 :(得分:0)

我猜你错过了右括号:


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

或尝试:


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

答案 1 :(得分:0)

我会点击a:

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

但是我会使用背景来放置图像,并使用文本缩进:-10000作为文本。这样它是可访问的,你不必使用javascript这是css的第二个选项。

答案 2 :(得分:0)

.live()自jQuery 1.7(http://api.jquery.com/live/#live-events-map)起不推荐使用。它被.on()代替:

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

不应该对结果产生太大的影响:)