为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery 函数无法使用 .load() 刷新 div 标签

jQuery 函数无法使用 .load() 刷新 div 标签

PHP
天涯尽头无女友 2023-08-19 09:45:56
我正在使用 ajax post 将我的值发送到(uploadsignupeditadvcheck.php)。提交成功后,我需要刷新我的div标签(galleryadv)以准备下次提交。我的 ajax 提交成功,但刷新后我的 jquery 函数不再工作。我很感激你们,可以帮助解决我的情况。谢谢。索引.php<script>    function uploadadv(){                  var idadv = document.getElementById("idadv").value;          var companynameadv = document.getElementById("companynameadv").value;            var usernameadv = document.getElementById("usernameadv").value;                  var aboutmeadv = $("#aboutmedecsadv").val();          var catadv = document.getElementById("catadv").value;          var typeadv = document.getElementById("typeadv").value;          var keywordadv = document.getElementById("keywordadv").value;            var addressadv = document.getElementById("addressadv").value;              var countryadv = document.getElementById("countryadv").value;          var zipadv = document.getElementById("zipadv").value;          var stateadv = document.getElementById("stateadv").value;          var cityadv = document.getElementById("cityadv").value;           var urladv = document.getElementById("urladv").value;           var priceadv = document.getElementById("priceadv").value;           var advstamp = document.getElementById("advstamp").value;                        jQuery.ajax({        type: "POST", // HTTP method POST or GET        url: "uploadsignupeditadvcheck.php", //Where to make Ajax calls        dataType:"text", // Data type, HTML, json etc.        data:myData, //Form variables        success:function(data){                        $('#messageeditcheckadv').html(data);        },uploadsignupeditadvcheck.php$(".galleryadv").load(location.href+" .galleryadv>*");
查看完整描述

1 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

您正在覆盖之前附加事件处理程序的 dom 元素。因此,您首先将单击事件附加到按钮,然后加载新的 HTML 并覆盖附加了处理程序的按钮,以便新按钮没有附加事件处理程序,这就是它们不响应单击事件的原因。


将事件处理程序附加到不会被覆盖的父元素,或者在加载并用新 html 覆盖后重新附加事件处理程序。


我可能会选择将事件附加到其父级,这样当事件在 dom 树上传播时它就会得到处理。


var buttons_parent = $('.galleryadv');


buttons_parent.on('click', '.avatar-galleryadv', function(){    

    $(this).hide(0);   

    $('.avatar-previewgalleryadvsave').fadeIn(300);

});


buttons_parent.on('click', '.avatar-previewgalleryadvsave', function(){

    $(this).hide(0);   

    $('.avatar-galleryadv').fadeIn(300);

});

这代替了btn_edit.on("click", function() {...和 btn_save.on("click", function() {...。另外,我不会通过保存在变量中的引用来引用处理程序内的按钮,因为这些按钮在覆盖它们后将无效,因此我总是通过它们的类名来查找它们。


这样,即使按钮被覆盖,处理其单击事件的处理程序也完好无损。


查看完整回答
反对 回复 2023-08-19
  • 1 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信