From 2a0eba5cbae0a3e19c1da513148789283fb513ab Mon Sep 17 00:00:00 2001 From: xuqi <xuqi9010@gmail.com> Date: Mon, 9 Nov 2015 11:20:34 +0800 Subject: [PATCH] event rebuild --- static/js/shopping-cart/chose-panel.js | 14 +++++++------- static/js/shopping-cart/good.js | 52 +++++++++++++++++++++------------------------------- 2 files changed, 28 insertions(+), 38 deletions(-) diff --git a/static/js/shopping-cart/chose-panel.js b/static/js/shopping-cart/chose-panel.js index 9995337..cd7c34e 100644 --- a/static/js/shopping-cart/chose-panel.js +++ b/static/js/shopping-cart/chose-panel.js @@ -5,8 +5,8 @@ * @date: 2015/10/21 */ -var $ = require('jquery'); -var Handlebars = require('yoho.handlebars'); +var $ = require('jquery'), + Handlebars = require('yoho.handlebars'); var $page = $('.yoho-page'); @@ -37,7 +37,7 @@ function remove() { $('.chose-panel').remove(); } -$('.yoho-page').delegate('.chose-panel', 'tap', function(e) { +$('.yoho-page').on('touchstart', '.chose-panel', function(e) { var $cur = $(e.target); if ($cur.closest('.main').length > 0) { @@ -46,10 +46,10 @@ $('.yoho-page').delegate('.chose-panel', 'tap', function(e) { //点击蒙版消失 remove(); -}).delegate('#chose-btn-sure', 'tap', function() { +}).on('touchstart', '#chose-btn-sure', function() { //确定 -}).delegate('.block', 'tap', function() { +}).on('touchstart', '.block', function() { //尺寸颜色点选 var $this = $(this); @@ -60,7 +60,7 @@ $('.yoho-page').delegate('.chose-panel', 'tap', function(e) { $this.siblings('.chosed').removeClass('chosed'); $this.addClass('chosed'); -}).delegate('.btn-minus', 'tap', function() { +}).on('touchstart', '.btn-minus', function() { var num = +$num.val(); if (num === 1) { @@ -68,7 +68,7 @@ $('.yoho-page').delegate('.chose-panel', 'tap', function(e) { } $num.val(num - 1); -}).delegate('.btn-plus', 'tap', function() { +}).on('touchstart', '.btn-plus', function() { var num = +$num.val(); //TODO:库存数验证 diff --git a/static/js/shopping-cart/good.js b/static/js/shopping-cart/good.js index fe1b395..b7cf23e 100644 --- a/static/js/shopping-cart/good.js +++ b/static/js/shopping-cart/good.js @@ -10,21 +10,14 @@ var $ = require('jquery'), var chosePanel = require('./chose-panel'); +//删除面板显示后任何点击行为都将触发隐藏面板 function docTouchEvt(e) { - var $tar = $(e.target); + $('.opt-panel:not(.hide)').addClass('hide'); - if ($tar.closest('.opt-panel').length === 0) { - $('.opt-panel:not(.hide)').addClass('hide'); - - // - $(document).unbind('tap', docTouchEvt); - } + // + $(document).off('touchstart', docTouchEvt); } -// function unbindDocTouchEvt(e) { -// $(document).unbind('tap', docTouchEvt); -// } - ellipsis.init(); lazyLoad($('.lazy')); @@ -32,7 +25,7 @@ lazyLoad($('.lazy')); $('.name')[0].mlellipsis(2); //TIP:事件委托在.cart-goods,商品列表的容器统一需要有.cart-goods -$('.cart-goods').delegate('.checkbox', 'tap', function() { +$('.cart-goods').on('touchstart', '.checkbox', function() { var $this = $(this); if ($this.hasClass('icon-cb-checked')) { @@ -40,7 +33,7 @@ $('.cart-goods').delegate('.checkbox', 'tap', function() { } else { $this.removeClass('icon-checkbox').addClass('icon-cb-checked'); } -}).delegate('.icon-edit', 'tap', function() { +}).on('touchstart', '.icon-edit', function() { var id = $(this).closest('.shopping-cart-good').data('id'); $.ajax({ @@ -55,36 +48,33 @@ $('.cart-goods').delegate('.checkbox', 'tap', function() { } } }); -}).delegate('.icon-del', 'tap', function(e) { +}).on('touchstart', '.icon-del', function(e) { e.stopPropagation(); $(this).closest('.shopping-cart-good').children('.opt-panel').removeClass('hide'); - $(document).bind('tap', docTouchEvt); -}).delegate('.opt-panel', 'tap', function() { + $(document).on('touchstart', docTouchEvt); +}).on('touchstart', '.opt-panel', function() { var $this = $(this), - id = $this.closest('.shopping-cart-good').data('id'); + id = $this.closest('.shopping-cart-good').data('id'), + url; if ($this.closest('.put-in-favorite')) { //移入收藏夹 - $.ajax({ - type: 'POST', - url: '/shoppingCart/col', - data: { - id: id - } - }); + url = '/shoppingCart/col'; } else { //删除 - $.ajax({ - type: 'POST', - url: '/shoppingCart/del', - data: { - id: id - } - }); + url = '/shoppingCart/del'; } + + $.ajax({ + type: 'POST', + url: url, + data: { + id: id + } + }); }); -- libgit2 0.24.0