jQuery实现获取绑定自定义事件元素的方法

 我来答
同彬蚁芝兰
2020-06-10 · TA获得超过3987个赞
知道大有可为答主
回答量:3268
采纳率:27%
帮助的人:501万
展开全部
本文实例讲述了jQuery实现获取绑定自定义事件元素的方法。分享给大家供大家参考,具体如下:
(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时表示未触发
var
itemTriggerDistance
=
0;
//
拖动距离阀值,若大于该值则为拖动列表,若小于等于该值则为点击列表项
var
itemMoved
=
false;
//
列表是否为拖动状态
$(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');
//
触发自定义事件
});
}
return
this.on(
types,
null,
data,
fn
);
//
这种做法具有侵入性,多个类似的代码会相互覆盖,可采用深度复制方式调用原$.fn.bind方法
}
})(jQuery);
希望本文所述对大家jQuery程序设计有所帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式