亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

本文實(shí)例講述了jQuery實(shí)現(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時(shí)表示未觸發(fā)
 var itemTriggerDistance = 0; // 拖動(dòng)距離閥值,若大于該值則為拖動(dòng)列表,若小于等于該值則為點(diǎn)擊列表項(xiàng)
 var itemMoved = false; // 列表是否為拖動(dòng)狀態(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; // 當(dāng)前拖動(dòng)位置
  //console.log('touchmove:', itemTouchStart, itemTouchMove, itemMoved);
  if(Math.abs(itemTouchMove - itemTouchStart) > itemTriggerDistance) {
  itemMoved = true; // 列表被拖動(dòng)
  }
 }).bind('touchend', function (event) {
  //console.log('itemMoved:', itemMoved);
  if(itemMoved) { // 列表被拖動(dòng)過,非點(diǎn)擊操作
  return true;
  }
  $(this).trigger('itemtab'); // 觸發(fā)自定義事件
 });
 }
 return this.on( types, null, data, fn ); // 這種做法具有侵入性,多個(gè)類似的代碼會(huì)相互覆蓋,可采用深度復(fù)制方式調(diào)用原$.fn.bind方法
}
})(jQuery);

希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論