Javascript Jquery live不在IE中工作

Javascript Jquery live不在IE中工作,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一些代码在FF中可以很好地工作,但在IE中不行。我读过其他帖子说Jquery live方法不支持更改事件,但我使用的是单击事件。这是我的代码,它在$(document).ready(function()中: 如果在IE中使用$(“a”)时触发了FF警报,但在IE中没有。单击该警报可以正常工作,问题是我需要将该函数应用于首次加载页面时不存在的链接(稍后将通过ajax调用创建这些链接) 我在这里有什么选择吗?我们正在使用jquery-1.4.1.min.js 提前感谢元素在附加live事件时应该

我有一些代码在FF中可以很好地工作,但在IE中不行。我读过其他帖子说Jquery live方法不支持更改事件,但我使用的是单击事件。这是我的代码,它在$(document).ready(function()中:

如果在IE中使用$(“a”)时触发了FF警报,但在IE中没有。单击该警报可以正常工作,问题是我需要将该函数应用于首次加载页面时不存在的链接(稍后将通过ajax调用创建这些链接)

我在这里有什么选择吗?我们正在使用jquery-1.4.1.min.js


提前感谢

元素在附加
live
事件时应该存在于DOM中。如果以后重新创建它们(例如在ajax回调中)您不需要重新附加事件处理程序。如果页面加载时不存在元素,则可以在加载时附加实时事件,但如果这样做,则可能不再需要
实时
事件,因为您可以直接附加
单击
事件。

如果这些链接位于特定内容内,则可以使用:

$('#link_container_id').delegate('a', 'click', function(e){
   alert('link clicked');
});

.delegate()
将监视是否有任何事件(在您的案例中单击)冒泡,如果是这样,它会检查目标并将其与您案例中的“a”进行比较。应该可以,但未经测试。

我根本没有跟踪您。我正在处理一个大型项目,无法控制所有代码。我需要在单击每个“a”时调用一个方法。当我使用单击事件时,会调用一些链接(页面加载后加载的,因为它们需要很长时间)不要被jquery单击所拾取。当我使用live时,它可以工作,但在IE中不工作。我必须使用jquery拦截所有链接,因为我无法访问包含链接本身的代码。希望这样做有意义。上下文是整个页面。我可以为整个页面指定它吗?它应该是,$(document.body).delegate()例如,@jAndy-这几乎与使用
.live()
$(document)
是完全一样的,不确定这将如何解决不发生冒泡的问题。好吧,绑定在FF和.live()中工作得很好只是不在IE中。现在就测试这个,所以我会带着更新回来。安迪,这很有效,我不知道为什么。live不起作用,但只要我有一个可行的解决方案!
$('#link_container_id').delegate('a', 'click', function(e){
   alert('link clicked');
});