欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery實現(xiàn)獲取綁定自定義事件元素的方法

 更新時間:2015年12月02日 16:33:28   作者:lsjlnd  
這篇文章主要介紹了jQuery實現(xiàn)獲取綁定自定義事件元素的方法,涉及jQuery方法重載、事件綁定及元素操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了jQuery實現(xiàn)獲取綁定自定義事件元素的方法。分享給大家供大家參考,具體如下:

(function ($) { // 自定義itemtab事件
$.fn.bind = function(types, data, fn) { // 重載jQuery.fn.bind方法,用來截獲綁定自定義事件的元素
 if(typeof types == 'string' && 'itemtab' == types) {
 var itemTouchStart = -1; // touchstart位置
 var itemTouchMove = -1; // touchend位置,值為-1時表示未觸發(fā)
 var itemTriggerDistance = 0; // 拖動距離閥值,若大于該值則為拖動列表,若小于等于該值則為點擊列表項
 var itemMoved = false; // 列表是否為拖動狀態(tài)
 $(this).bind('touchstart', function (event) {
  if(!event.originalEvent.touches.length) return true;
  itemMoved = false;
  itemTouchStart = event.originalEvent.touches[0].pageX; // 記錄起始位置
 }).bind('touchmove', function (event) {
  if(!event.originalEvent.touches.length) return true;
  itemTouchMove = event.originalEvent.touches[0].pageX; // 當前拖動位置
  //console.log('touchmove:', itemTouchStart, itemTouchMove, itemMoved);
  if(Math.abs(itemTouchMove - itemTouchStart) > itemTriggerDistance) {
  itemMoved = true; // 列表被拖動
  }
 }).bind('touchend', function (event) {
  //console.log('itemMoved:', itemMoved);
  if(itemMoved) { // 列表被拖動過,非點擊操作
  return true;
  }
  $(this).trigger('itemtab'); // 觸發(fā)自定義事件
 });
 }
 return this.on( types, null, data, fn ); // 這種做法具有侵入性,多個類似的代碼會相互覆蓋,可采用深度復制方式調(diào)用原$.fn.bind方法
}
})(jQuery);

希望本文所述對大家jQuery程序設計有所幫助。

相關文章

最新評論