我有两个div。在div A中有一个按钮,在div B中没有任何内容。当我点击div A中的按钮时,将在div B中创建一个新按钮,即:
1)我点击了div A中的按钮;
2)点击会触发ajax消息(jquery),消息将被发送到后台服务(由django编写);
3)后台服务将返回一个html片段,这是div B中的新按钮;
4)新按钮将显示在div B中:
$("#B").empty();
$("#B").html(response);
响应是html片段(html片段包含id为“bt_2”的新按钮)。
5)我点击div B中的新按钮;
6)我无法使用jquery捕获此点击:
$("#bt_2").click(function(tmp_event) {
alert("get it!");
});
这些js脚本都在同一个文件中(名称是hp.js),并且在单击div A中的按钮之前已成功加载js文件。
如果我要捕获新按钮的点击,我该怎么办?任何帮助都是适用的!
答案 0 :(得分:1)
因为在加载DOM时不存在#bt_2
元素,所以需要使用委托事件处理程序。试试这个:
$('#B').on('click', '#bt_2', function(tmp_event) {
alert("get it!");
});
我假设您在示例中给出的ID只是占位符?如果没有,你应该让它们更具描述性。
答案 1 :(得分:0)
您可以像这样使用.on():
$("#B").on('click','#bt_2',function(tmp_event) {
alert("get it!");
});