Jquery活不在IE中工作

时间:2010-04-09 08:46:13

标签: javascript jquery ajax

我有一些代码在FF中工作正常但在IE中却没有。我读过其他帖子说Jquery live方法不支持更改事件,但我使用的是click事件。这是我的代码,它位于$(document).ready(function():

$("a").live("click", function(e) { 
        alert("link clicked");
        //do stuff
    });

如果FF警告被触发但不在IE中。当我使用$(“a”)。点击它工作正常,问题是我需要将函数应用于首次加载页面时不存在的链接(它们将在稍后通过ajax调用创建阶段)。

我在这里有任何选择吗?我们正在使用jquery-1.4.1.min.js。

提前致谢

2 个答案:

答案 0 :(得分:2)

如果这些链接在特定内容中,您可以使用:

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

.delegate()将观察是否有任何事件(点击您的情况)冒泡,如果是,它会检查目标并将其与您的情况中的“a”进行比较。应该工作,但未经测试。

答案 1 :(得分:1)

在您附加live事件时,

元素存在于DOM中。如果稍后重新创建它们(例如在ajax回调中),则不需要再次重新附加事件处理程序。如果页面加载时不存在元素,则可以在加载时附加实时事件,但如果执行此操作,则可能不再需要live事件,因为您可以直接附加click事件