var delParent;
var testI = 10;
$(".z_photo").delegate(".close-upimg", "click", function(event) {
event.stopPropagation();
$(".works-mask").show();
testI = 11;
delParent = $(this).parent();
});
$(".wsdel-ok").click(function() {
console.log(testI+"=====testi====")
$(".works-mask").hide();
var numUp = delParent.siblings().length;
if (numUp < imageNum + 1) {
delParent.parent().find(".z_file").show();
}
delParent.remove();
});
其中.close-upimg 有时候是动态生成的,有时候是页面渲染出来的。现在的情况是:先在页面渲染出来的.close-upimg 这个类点击事件执行,那么执行$(".wsdel-ok").click事件,testI的值就可以改变。要是先动态添加生成的.close-upimg,那么执行$(".wsdel-ok").click事件,testI的值就并没有改变,还是需要先去执行一下页面渲染出来的.close-upimg事件,方可改变。ps(以上代码是封装插件里面的一段,外部调用的方法,不知道是不是这个影响…………)
jq 3.0以上版本 移除 delegate 方法,建议 你改成 on.
如果你的 .wsdel-ok 也是 动态生成的,也得写成 $(".XXX").on(".wsdel-ok", "click", function(event) {}