这个构造是否会一直有效

时间:2013-08-22 09:47:39

标签: javascript jquery function html

在我的网站上它将有产品图块,每个图块中都有一个按钮,图块将根据可用性通过ajax调用加载,我使用以下函数来初始化div的功能。这里" add_ + uid"是按钮的ID

$('#add_'+uid).bind("click",addFunction);
function addFunction(){

...
}

我发现上面的代码只适用于页面加载, 我可以使用它,这是ajax类型场景的解决方案吗?

$('#add_'+uid).click(addFunction);

如果对此方案没有任何建议?

2 个答案:

答案 0 :(得分:3)

可以为父元素调用jQuery on方法 只要父元素存在,它将捕获给定选择器的所有事件。

http://api.jquery.com/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