我有一段代码:
jQuery(function($){
$(document).on("click", ".product-image-mobile .product-image", function (e) {
$(this).attr('data-num', 1);
e.preventDefault();
if ($(this).attr("data-num") == 1){
$(document).off("click", ".product-image-mobile .product-image");
}
});
});
首先点击产品图片显示另一张图片,再点击一下转到产品页面。 产品通过ajax加载。 对于第一个产品图像,此代码正在运行,而其他代码则不然我认为它涉及$(document).off,取消点击所有其他元素的“阻止”。
请告知如何做到这一点。感谢。
答案 0 :(得分:0)
您可以使用:not()
和Attribute value selector的组合来绑定事件。
$(document).on("click", ".product-image-mobile .product-image:not([data-num='1'])", function (e) {
$(this).attr('data-num', 1);
e.preventDefault();
});
我不确定,但我认为你也可以使用
if ($(this).attr("data-num") == 1){
$(event.target).off("click");
}
答案 1 :(得分:0)
您可以将您的选择器扩展为不再选择具有属性data-num="1"
的元素,如下所示:
jQuery(function($){
$(document).on("click", ".product-image-mobile .product-image[data-num!='1']", function (e) {
$(this).attr('data-num', 1);
e.preventDefault();
});
});