在我的网站上它将有产品图块,每个图块中都有一个按钮,图块将根据可用性通过ajax调用加载,我使用以下函数来初始化div的功能。这里" add_ + uid"是按钮的ID
$('#add_'+uid).bind("click",addFunction);
function addFunction(){
...
}
我发现上面的代码只适用于页面加载, 我可以使用它,这是ajax类型场景的解决方案吗?
$('#add_'+uid).click(addFunction);
如果对此方案没有任何建议?
答案 0 :(得分:3)
可以为父元素调用jQuery on
方法
只要父元素存在,它将捕获给定选择器的所有事件。
.on( events [, selector ] [, data ], handler(eventObject) )
选择器:
用于过滤后代的选择器字符串 触发事件的选定元素。
$('body').on('click', '#add_'+uid, function(){
});
您还可以将侦听器绑定到以id add_
开头的所有元素:
$('body').on('click', '[id^=add_]', function(){
alert($(this).attr('id'));
});
演示: jsFiddle
答案 1 :(得分:2)
使用
$(document).on("click", '#add_'+uid, addFunction);
function addFunction(){
...
}
您也可以在页面上使用静态容器,而不是document
。