gpt4 book ai didi

javascript - 当ajax加载内容和删除按钮不起作用时

转载 作者:行者123 更新时间:2023-11-29 22:07:59 26 4
gpt4 key购买 nike

嗨,当 ajax 加载动态内容时,我每次都会遇到同样的问题,例如:评论或任何帖子,然后一切正常。但在我刷新页面之前,像按钮这样的评论不起作用。在我喜欢的脚本下面帮助我解决这个问题

$(".comment_like").click(function()
{
var cID = $(this).attr("ccid");
var cREL = $(this).attr("rel");
var cbox = $(this).attr("box_id");
var cowner = $(this).attr("ownercli");
var cURL='comment_like.php';
var dataString = 'msg_id=' + cID +'&rel='+ cREL+ '&owner='+ cowner+ '&cbox='+ cbox;
if(cREL=='Like')
{
$('#c'+cID).html('Unlike:').attr('rel', 'Unlike').attr('title', 'Unlike');
}
else
{
$('#c'+cID).attr('rel', 'Like').attr('title', 'Like').html('Like:');
}
xhr = $.ajax({
type: "POST",
url: cURL,
data: dataString,
cache: false
}).done(function(htmlc){
$('.cml'+cID).html(htmlc);
});
});

最佳答案

假设 $(".comment_like") 按钮位于从 ajax 调用返回的 HTML 中是否安全?如果是这样,这就是 jQuery“on”绑定(bind)有用的地方。您可以将事件监听器绑定(bind)到元素可能最终位于其中的容器,而不是绑定(bind)到按钮本身,按钮本身在加载内容之前不存在。简而言之,当该容器发生点击时,jQuery 会检查点击的元素以查看它是否匹配并触发您的处理程序。

阅读:http://api.jquery.com/on/

这样做是为了动态加载内容,并防止绑定(bind)数百个事件处理程序。

基于此,而不是

$(".comment_like").click(function() {...});

尝试

$('#container').on('click','.comment_like',function() {...});

#container 是包含您正在加载的 HTML 的包装器。

关于javascript - 当ajax加载内容和删除按钮不起作用时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19823957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com