jQuery的移动事件插件集合。
Posted
tags:
中文标题:jQuery的移动事件插件集合。 原文标题:A collection of mobile event plugins for jQuery. 项目评级:Star:702 Fork:230 下载地址:https://github.com/benmajor/jQuery-Touch-Events 详情介绍jQuery触摸事件
这是一系列插件,用于创建额外的事件,在为移动设备开发时可以与jQuery结合使用。这些活动还与桌面浏览器兼容,以确保项目的最终兼容性。随着时间的推移,我们将更新存储库,以包括一些非常基本的演示,让您开始使用这些事件,但目前,我们已经列出了所提供的事件以及它们的作用。
如所解释的,每个事件由本地触摸事件触发,或者可替换地由点击事件触发。该插件会自动检测用户的设备是否与触摸兼容,并在需要时使用正确的本地事件。希望这些活动将有助于帮助jQuery开发移动web应用程序的单一环境。
目录:
1.版本历史:
经过近2年的公测,我很高兴地宣布,该库现在正式推出1.0.0版本。随着时间的推移,我将用修复、功能和改进的摘要更新版本历史:
2.安装:
顾名思义,jQuery触摸事件只需要运行jQuery库(1.7+版本)。您应该从src
文件夹下载最新版本,并在包含jQuery后将Javascript文件包含在您的项目中。建议还将代码封装在jQuery的DOMReady
回调函数中(例如$(function() )
)。
手动安装:
从master分支下载JS文件后,应使用以下代码将其包括在内:
cdnjs的那些了不起的家伙已经好心地将库添加到了他们的CDN中,这样你就可以将其直接包含到你的应用程序中,如下所示:
或者,您也可以使用Bower安装jQuery触摸事件,如下所示:
$ bower install jquery-touch-events
jQuery触摸事件也可以使用NPM安装,如下所示:
$ npm i @benmajor/jquery-touch-events
如果您通过NPM安装库,在运行上面的npm i
命令后,您还需要确保将模块导入到您希望使用事件的项目文件中。将以下行与其他导入项放在一起:
3.用途:
上面列出的所有事件都是使用jQuery的event.special
对象编写的,因此可以与jQuery的事件处理功能以及快捷方式包装器一起使用。因此,该库支持的所有事件都可以使用jQuery自己的任何特定于事件的方法来处理,例如on()
和one()
。
以下代码片段展示了jQuery的一些基本用法:
将tap
事件绑定到元素:
绑定时,您应该使用jQuery的on()
函数,如下所示(避免使用live()
和bind()
,因为这些函数现在已被弃用,并将从jQuery的未来版本中删除)。
触发事件:
正在删除事件:
使用方法包装器:
方法链接:
还保留了链接,因此您可以很容易地将这些事件与其他jQuery函数结合使用,或者将多个事件附加到一个链接的LOC中:
4.事件:
5.回调数据:
现在,每个事件都有第二个参数,可以将其传递给指定的回调函数。此参数包括一些专门与事件相关的基本数据,可以作为标准JavaScript对象访问。要挂接此参数,您应该使用以下代码:
在上面的例子中,touch
现在将包含一些可以通过touch.
访问的基本数据。第一个参数将表示发生的最后一个本机事件(用于这两个参数的名称无关)。
每个事件提供不同的回调数据。下面显示了在第二个参数中传递回回调函数的大量数据:
tapstart
, tapend
, tapmove
, tap
, singletap
:
offset
-包含事件相对于其绑定到的元素的X和Y位置的对象。分别通过offset.x
和offset.y
访问。
position
-包含事件相对于屏幕的X和Y位置的对象。分别通过position.x
和position.y
访问。
target
-触发事件的jQuery对象。
time
-事件发生的JavaScript时间戳(自Unix纪元以来的毫秒)
taphold
:
duration
:用户点击的时间,以毫秒为单位。
endOffset
-包含结束事件的X和Y位置的对象(即用户松开手指时
或鼠标)相对于事件绑定到的元素。分别通过endOffset.x
和endOffset.y
访问。
endPosition
-包含结束事件的X和Y位置的对象(即,当用户释放手指或鼠标时)相对于屏幕。分别通过endPosition.x
和endPosition.y
访问。
endTime
-触发taphold
的JavaScript时间戳(自Unix纪元以来的毫秒)。这通常等于startTime
+taphold
阈值。
startOffset
-包含开始事件的X和Y位置的对象(即,当用户按下手指或鼠标时)相对于事件绑定到的元素。分别通过endOffset.x
和endOffset.y
访问。
startPosition
-包含开始事件的X和Y位置的对象(即,当用户按下手指或鼠标时)相对于屏幕。分别通过endPosition.x
和endPosition.y
访问。
startTime
-taphold
启动的JavaScript时间戳(自Unix纪元以来的毫秒)。
target
-触发事件的jQuery对象。
doubletap
:
firstTap
-包含与tap
事件相同数据的对象,但用于发生第一次点击。
secondTap
-包含与tap
事件相同数据的对象,但发生第二次(即最后一次)敲击。
interval
-两个抽头之间的时间(以毫秒为单位)。
swipe
, swipeup
, swiperight
, swipedown
, swipeleft
, swipeend
:
direction
-表示滑动方向的字符串(up
、right
、endPosition.x
或left
)。
duration
-滑动发生的时间(以毫秒为单位)(为了获得最佳结果,请仅与swipeend
一起使用,因为这通常等于定义的swipe-threshold
。
xAmount
-滑动在X轴上占据的像素数(无论方向如何返回)。
yAmount
-滑动在Y轴上占据的像素数(无论方向如何返回)。
startEvnt
-包含与tap
事件相同数据的对象,但在开始滑动时捕获。
endEvent
-包含与tap
事件相同数据的对象,但在滑动完成时捕获。
6.定义阈值:
您还可以定义用于swipe
事件(swipeup
、swiperight
、<12207>和swipeleft
)的自定义阈值,以防止干扰滚动和其他事件。为此,只需将data-xthreshold
或data-ythreshold
分配给目标元素,如下所示:
<div id="mySwiper" data-xthreshold="500"></div>
您定义的值是用户在目标元素上触发事件之前必须移动的像素差。如果未定义阈值,则将使用50px
的默认值。
data-xthreshold
定义水平阈值。
data-ythreshold
定义垂直阈值。
自1.0.7起更新:
根据用户和贡献者的请求,从1.0.7开始,现在还可以通过jQuery的data-
属性定义doubletap
阈值,如下所示:
data-threshold
定义在目标元素上触发doubletap
事件的时间量(以毫秒为单位)。
7.实用程序功能:
除了提供的许多附加事件外,该库还包括许多实用功能,可用于进一步利用网站或应用程序中本机事件的功能。这些实用函数可用于统一基本事件,如tapstart
或mousedown
。
提供了以下实用程序函数(每个函数都注册到jQuery命名空间中,并且应使用$.funcName()
(或jQuery.funcName()
进行兼容性调用):
8.演示:
我已经制作了一个简单的演示应用程序,展示了许多正在进行的事件。左侧的控制台用于显示有关已调用事件的信息。您可以通过查看页面的源代码来轻松地检查代码,以了解更多关于如何工作的信息。请点击下面查看演示:
http://lincweb.co.uk/labs/jquery-touch-events/demo/
请注意,此演示使用了谷歌托管的jQuery文件,还从GitHub中提取了最新版本的事件库。这是一个检查图书馆状况的好地方。由于这个演示使用了香草代码,所以它是一个很好的ide
a查看此处的库功能以供您自己参考。如果您在库中遇到问题,请首先使用您的设备查看此演示。您可以扫描下面的二维码,直接进入网页:
9.要求:
该库适用于jQuery 1.7.0+。所有主要浏览器都经过了测试,没有出现问题。该库与jQuery不兼容<;1.7.
10.许可证:
根据麻省理工学院许可证获得许可:
特此免费授予获得本软件副本和相关文档文件(“软件”)的任何人无限制地使用本软件,包括但不限于使用、复制、修改、合并、发布、分发、分许可和/或出售本软件副本的权利,并允许向其提供本软件的人员这样做,符合以下条件:
上述版权声明和本许可声明应包含在软件的所有副本或重要部分中。
软件是“按原样”提供的,没有任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和不侵权的保证。在任何情况下,作者或版权持有人均不承担因软件或软件的使用或其他交易而产生、产生或与之相关的任何索赔、损害赔偿或其他责任,无论是在合同诉讼、侵权诉讼还是其他诉讼中。