我正在处理订阅/取消订阅按钮,我在“加载”内容之后遇到的问题,jquery将不会对加载的内容起作用。
例如,如果我点击.subscribe,则加载的内容将是
<div data-item="123" class="unsubscribe">unsubscribe</div>
如果我点击.unsubscribe它将不会触发$(".unsubscribe") jquery function
。
$(".subscribe").click(function(){
$(this).parent().load("/index.php?do=sub&a=add&id=" + $(this).data("item"));
})
$(".unsubscribe").click(function(){
$(this).parent().load("/index.php?do=sub&a=del&id=" + $(this).data("item"));
})
答案 0 :(得分:4)
您需要使用事件委派:
$(".subscribe").on('click', '.unsubscribe', function(){
$(this).parent().load("/index.php?do=sub&a=del&id=" + $(this).data("item"));
})
动态加载元素时,您需要使用.on()
的{{3}}。
答案 1 :(得分:1)
那是因为你在元素在DOM之前绑定事件,所以新元素不会附加该事件。
您可以将其附加到正文并将其委托给.unsubscribe
:
$('body').on('click', '.unsubscribe', function(){
//your function
});