jQuery单击功能找不到选择器

时间:2011-09-16 19:38:06

标签: javascript jquery ajax dom

a = new object();
a.loadInterface();

$("button").click(function() {
    a.doSomething();
});

问题是a.loadInterface()是将按钮加载到DOM中的,它发生在$.post()的末尾,因为需要来自服务器的数据来填充按钮的某些属性。 / p>

所以我认为,JavaScript会读取button.click探测器,但当时没有按钮可以绑定。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

您对问题的评估是正确的。一个简单的解决方案是使用delegate。如,

$(document).delegate('button', 'click', function() {
    a.doSomething();
});

<小时/> 编辑:关于delegate的更多信息以及为什么它可以在事件绑定后动态创建的元素上找到:http://api.jquery.com/delegate/

答案 1 :(得分:0)

我认为你是对的。如果您根据帖子返回的数据创建按钮,则需要在帖子成功后执行的方法中绑定事件。