请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

zepto.js e.stopPropagation无效 问题重现http://m.vminbaby.quiethappy.com/site/demo

Zepto(function ($) {    
var clicktimeout = '';    
$('span.btns-plus').click(function(e) {    
e.stopPropagation();    
var pid = $(this).attr('data-id');     
$.ajax({    
type: "POST",    
url: "/cart/save",    
dataType:'json',    
data:{    
"pid":pid,    
"num":1,    
"type":"add",    
"_vminbaby_m":"kHUoK97JLCx5nZah6fgC48C_MMRzaLWYYS_GtEvbh_ipNAVGh4N4Hk2txpCujGjR-PRSvRI_-qFUav_9HqP1sQ=="    
},    
beforeSend: function(XMLHttpRequest){    
//$.showPreloader('采购中...');    
clearTimeout(clicktimeout);    
clicktimeout = setTimeout(function () {    
$.showPreloader('采购中...');    
},300);    
},    
success: function(data, textStatus){    
if(data.code == 200){    
$('span.badge').text(data.data.cartnum);    
$('span.menu-id-'+pid).text(data.data.currentnum);    
$('span.p-money-'+pid).text(data.data.currentmoney);    
selectcart();    
}else{    
$.alert(data.message);    
}    
},    
complete: function(XMLHttpRequest, textStatus){    
//HideLoading();    
clearTimeout(clicktimeout);    
$.hidePreloader();    
},    
error: function(){    
//请求出错处理    
}    
});       
});    
$('span.btns-minus').click(function(e) {    
e.stopPropagation();    
var $this = $(this);    
var pid = $this.attr('data-id');      
$.ajax({    
type: "POST",    
url: "/cart/save",    
dataType:'json',    
data:{    
"pid":pid,    
"num":1,    
"type":"sub",    
"_vminbaby_m":"kHUoK97JLCx5nZah6fgC48C_MMRzaLWYYS_GtEvbh_ipNAVGh4N4Hk2txpCujGjR-PRSvRI_-qFUav_9HqP1sQ=="    
},    
beforeSend: function(XMLHttpRequest){    
//$.showPreloader('采购中...');    
clearTimeout(clicktimeout);    
clicktimeout = setTimeout(function () {    
$.showPreloader('采购中...');    
},300);    
},    
success: function(data, textStatus){    
if(data.code == 200){    
$('span.badge').text(data.data.cartnum);    
$('span.menu-id-'+pid).text(data.data.currentnum);    
$('span.p-money-'+pid).text(data.data.currentmoney);    
if(data.data.currentnum == 0){ // remove li    
$this.parents('li').remove();    
}    
if(data.data.cartnum == 0){    
if($('span#p-select-btn-submit').hasClass('cart-select-yes')){    
$('span#p-select-btn-submit').removeClass('cart-select-yes').text('请选择');    
$('li.play-cart').css('display','block');    
}    
}    
selectcart();    
}else{    
$.alert(data.message);    
}    
},    
complete: function(XMLHttpRequest, textStatus){    
//HideLoading();    
//$.hidePreloader();    
clearTimeout(clicktimeout);    
$.hidePreloader();    
},    
error: function(){    
//请求出错处理    
}    
});      
});    
});    
function selectcart() {    
if($('input.cartselect:checked').length>0){    
var money = 0;    
$('input.cartselect:checked').each(function (index,ele) {    
var pid = $(ele).attr('data-product-id');    
money += parseFloat($('span.p-money-'+pid).text());    
});    
$('span.p-select-money').text(money.toFixed(2));    
}else{    
$('span.p-select-money').text('0.00');    
}    
}


正在回答 回答被采纳积分+3

1回答

提问者 AlphaTan 2017-12-12 23:43:18

https://img1.sycdn.imooc.com//szimg/5a2ff88600016a4604000715.jpg


点击加减时,事件同时触发多个事件;e.stopPropagation(); 无效

0 回复 有任何疑惑可以回复我~
  • Jason #1
    刚去试了下,基本效果没有问题,加减都可以实现,但是有事件冒泡的问题,点击加减,会影响商品的选中
    回复 有任何疑惑可以回复我~ 2017-12-19 14:43:54
  • 提问者 AlphaTan #2
    肿么防止事件冒泡?e.stopPropagation()不起作用
    回复 有任何疑惑可以回复我~ 2017-12-19 14:47:09
  • Jason 回复 提问者 AlphaTan #3
    直接在最后return false;
    回复 有任何疑惑可以回复我~ 2017-12-20 16:56:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信