1

我有一个名为result.

当我继续输入搜索查询时,resultdiv 被填满item (使用 jQuery ajax)。

当我做,

$(".result").click(function(){
    alrert("click on whole result class captured")
});

我收到警报消息。但当我这样做时,

$(".item").click(function(){
    alert("click on single item captured")
});

我没有收到警报消息。为什么会这样?是因为在divs加载文档后插入了该项目吗?

4

2 回答 2

1

更喜欢使用.on

$(document).on("click", ".item", function(){
    alert("click on single item captured");
});

因为您的项目是动态添加的。

click或者bind("click")不能用于向 DOM 动态添加元素,因为您不会附加事件“绑定”。

on("click")live("click")已弃用)通过 DOM 更改不断附加事件“绑定”。

于 2012-07-13T15:15:55.553 回答
0

利用.on

$(document).on("click", ".item", function() {
    alert("click on single item captured")
});

更多细节在这里http://api.jquery.com/on/

于 2012-07-13T15:17:04.103 回答