點擊事件里面的change事件,多次觸發change事件


最近做個項目,在點擊按鈕后彈出一個層,里面有單選按鈕,選中單選按鈕時就可以動態添加到對應的地方了

$(".xinz").click(function(event){
event.stopPropagation();
radioBoxChange += 1;
//clickChange = "shspClick";
var radioBox=$("#radioBox");
var hsBox=$(this).siblings(".deliver-box").find(".delivery");
var hsnum=$(this).siblings(".deliver-box").find(".deli-num");
var stock=$(this).siblings(".deliver-box").find(".stock");
postData(basePath + "/mobile/driver/orderList.do",{},function(result){
if(result) {
//送貨數據加載
radioBox.empty();
for(i=0;i<result.length;i++){

radioBox.append("<label><input type='radio' value='"+result[i].sys_id+"' class='mgr mgr-primary mgr-lg'/><span id='spmc"+result[i].sys_id+"'>"+result[i].mc+"</span><span hidden id='lb_id"+result[i].sys_id+"'>"+result[i].lb_id+"</span><span hidden id='lb"+result[i].sys_id+"'>"+result[i].splb+"</span><i id='spsj"+result[i].sys_id+"'>"+result[i].spsj+"</i></label>");
};
$(".content").hide();
$(".radio_pop").show();
};
radioBox.off("change");
radioBox.on("change",function(){

var sys_id = $("input[type='radio']:checked").val();
var spsj = $("#spsj"+$("input[type='radio']:checked").val()+"").html();
var lb_id = $("#lb_id"+$("input[type='radio']:checked").val()+"").html();
var splb = $("#lb"+$("input[type='radio']:checked").val()+"").html();
var mc = $("#spmc"+$("input[type='radio']:checked").val()+"").html();
hsBox.append("<dd value='"+sys_id+"' dj='"+spsj+"' lb_id='"+lb_id+"' lb='"+splb+"'><span>"+mc+"</span></dd>");
hsnum.append("<dd><div class='num-btn'><a class='lessen B_lessen'>-</a><span class='input-box'><input type='text' value='0' /></span><a class='add B_add'>+</a></div></dd>");
stock.append("<dd><span ></span></dd>");
$(".footer").show();
$(".content").show();
$(".radio_pop").hide();
});
});
});

第一次點擊的時候正常,第二次點擊后每次觸發change事件多次,感覺應該是事件冒泡,但沒找到更好的辦法阻止,並且有兩個不同的點擊事件會互串,后來發現一個off方法可以解除綁定,這樣添加在change事件前面click事件里面,就可以解除每一次的多次綁定了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM