点击事件无效
我的代码有一个问题。 单击事件在另一个事件之后不起作用。
我的ajax和jquery代码如下:
$(document).ready(function() { $(document).on("click","button[class*=btnFound]", function(e){ var cijeliID = this.id.split("-"); var id = cijeliID[1]; $($("#confirmBox-"+id).data("target")).fadeIn(400); e.preventDefault(); }); }); $(document).ready(function() { $(document).on("click", ".btnFoundConfirm", function(){ var cijeliID = this.id.split("-"); var id = cijeliID[1]; /*$("#confirmBox-"+id).modal('toggle');*/ $.ajax({ url : "pet-found.php", type: "POST", dataType: "json", data : {id : id, status:"found", sessionCode : ""}, beforeSend: function(){ $("#info-middle-register").show(); }, success: function(msg){ $("#info-middle-register").hide(); if(msg.result == "Found"){ $("#delpetsuccess-"+id).html(" Uw huisdier is thuis. De VermisteDieren site wenst u veel plezier met uw beestje.").fadeIn(300).fadeOut(10000); $("#watermark-"+id).show(); $("#drpDown-"+id).html(""); $("#dier-"+id).addClass("opacityClass"); }else{ if(msg.result == "NotFound"){ $("#delpeterror-"+id).html(" Er is iets misgelopen. Contacteer ons via info@vermistedieren.be.").fadeIn(300).fadeOut(10000); } } }, error: function(){ $("#info-middle-register").hide(); $("#delpeterror-"+id).html(" Er is iets misgelopen. Contacteer ons via info@vermistedieren.be.").fadeIn(300).fadeOut(10000); } }) }); });
我的PHP代码是下一个:
$found = $redPet["found"]; if($found == 1){ $opacityClass = "opacityClass"; $watermark = "display:block;"; $showHideDropdown = "display:none;"; $menu = " "; $found = " (Gevonden!)"; }else{ $watermark = "display:none;"; $showHideDropdown = "display:block;"; $opacityClass = ""; $menu = " "; $found = ""; } echo " ". $redPet["name"] . $found . "
". $menu ." Vermist : ". $lostDate ." Plaats : ". $redPet["lostPlace"] ." Kleur : ". $redPet["color"] ." Ras : ". $redPet["breed"] ." ". $redPet["views"] ." ". $details ."
Lees meer ";
下拉菜单中的按钮VERWIJDEREN正常工作。 如果我(在页面加载后)点击它我会得到一个弹出框以确认我要删除它。 如果我点击YES,它就可以了。
我的问题是,如果我点击按钮GEVONDEN然后我点击按钮TOCH NOG GEZOCHT(基本上是DO和UNDO – 直到这里它完美无缺)。
但是如果我想删除它(因此如果我点击按钮VERWIJDEREN)它就不起作用了。 引导弹出窗口的样式也发生了变化。 如果我点击NO就可以了,但是如果我点击YES则没有任何事情发生。 如果我刷新页面然后它没有问题。 在控制台中我什么也看不见,因此没有任何错误报告。
有什么建议? 谢谢。
更新:
btnNotFound的脚本
$(document).ready(function() { $(document).on("click","button[class*=btnNotFound]", function(e){ var cijeliID = this.id.split("-"); var id = cijeliID[1]; $.ajax({ url : "pet-found.php", type: "POST", dataType: "json", data : {id : id, status:"notFound", sessionCode : ""}, beforeSend: function(){ $("#info-middle-register").show(); }, success: function(msg){ $("#info-middle-register").hide(); if(msg.result == "changeMindNotFound"){ $("#watermark-"+id).hide(); $("#dier-"+id).removeClass("opacityClass"); $("#txtFound-"+id).hide(); $("#liTochGezocht-"+id).hide(); $("#drpDown-"+id).html(" "); }else{ if(msg.result == "changeMindFound"){ $("#delpeterror-"+id).html(" Er is iets misgelopen. Contacteer ons via info@vermistedieren.be.").fadeIn(300).fadeOut(10000); } } }, error: function(){ $("#info-middle-register").hide(); $("#delpeterror-"+id).html(" Er is iets misgelopen. Contacteer ons via info@vermistedieren.be.").fadeIn(300).fadeOut(10000); } }) e.preventDefault(); }); });
是和否按钮是这样的:
Yes No
取消弹出窗口的脚本:
$(document).ready(function() { $(".linkDelete").on("canceled.bs.confirmation", function(e){ e.stopPropagation(); if ($(e.target).data('toggle') !== 'confirmation' && $(e.target).parents('[data-toggle="confirmation"]').length === 0 && $(e.target).parents('.popover.in').length === 0) { $('[data-toggle="confirmation"]').confirmation(); $('[data-toggle="confirmation"]').confirmation('hide'); } $(this).confirmation(); $(this).confirmation('hide'); }); });
并确认:
$(document).ready(function() { $('.linkDelete').on('confirmed.bs.confirmation', function (e) { var cijeliID = this.id.split("-"); var id = cijeliID[1]; $.ajax({ url : "delete-pet.php", type: "POST", dataType: "json", data : {id : id, sessionCode : ""}, beforeSend: function(){ $("#info-middle-register").show(); }, success: function(msg){ $("#info-middle-register").hide(); if(msg.result == "Deleted"){ /*$("#delpetsuccess-"+id).html(" Uw huisdier is succesvol verwijderd.").fadeIn(300).fadeOut(2000);*/ $("#hrLine-"+id).fadeOut(2000); if(msg.resultPhotos == "PhotosNotDeleted"){ $("#delpetwarning-"+id).html(" De fotos van uw huisdier zijn niet succesvol verwijderd.").fadeIn(300).fadeOut(2000); } if(msg.nr_pets > 0){ $("#dier-"+id).fadeOut(2000); $("#totalPets").html(msg.nr_pets); }else{ $("#dier-"+id).fadeOut(2000); $("#totalPets").html(msg.nr_pets); $("#noPets").html("Momenteel hebt u geen huisdieren.
Klik hier om een huisdier toe te voegen.").fadeIn(2000); $(".tb-pagination").hide(); } }else{ if(msg.result == "NotDeleted"){ $("#delpeterror-"+id).html(" Er is iets misgelopen. Uw huisdier is niet succesvol verwijderd. Contacteer ons via info@vermistedieren.be.").fadeIn(300).fadeOut(10000); } } }, error: function(){ $("#info-middle-register").hide(); $("#delpeterror-"+id).html(" Er is iets misgelopen. Contacteer ons via info@vermistedieren.be.").fadeIn(300).fadeOut(10000); } }) }) });
正如为.btnFound
委派click事件一样,必须委托.btnNotFound
(与TOCH NOG GEZOCHT
关联的类)的单击处理程序,特别是因为它是通过JavaScript动态添加的:
$(document).on("click","button[class*=btnNotFound]", function(e){...