首页 > 代码库 > 点击事件里面的change事件,多次触发change事件
点击事件里面的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=http://www.mamicode.com/‘"+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=http://www.mamicode.com/‘"+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=http://www.mamicode.com/‘0‘ />
stock.append("<dd><span ></span></dd>");
$(".footer").show();
$(".content").show();
$(".radio_pop").hide();
});
});
});
第一次点击的时候正常,第二次点击后每次触发change事件多次,感觉应该是事件冒泡,但没找到更好的办法阻止,并且有两个不同的点击事件会互串,后来发现一个off方法可以解除绑定,这样添加在change事件前面click事件里面,就可以解除每一次的多次绑定了
点击事件里面的change事件,多次触发change事件