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.xoffset.y访问。

position-包含事件相对于屏幕的X和Y位置的对象。分别通过position.xposition.y访问。

target-触发事件的jQuery对象。

time-事件发生的JavaScript时间戳(自Unix纪元以来的毫秒)

taphold:

duration:用户点击的时间,以毫秒为单位。

endOffset-包含结束事件的X和Y位置的对象(即用户松开手指时

或鼠标)相对于事件绑定到的元素。分别通过endOffset.xendOffset.y访问。

endPosition-包含结束事件的X和Y位置的对象(即,当用户释放手指或鼠标时)相对于屏幕。分别通过endPosition.xendPosition.y访问。

endTime-触发taphold的JavaScript时间戳(自Unix纪元以来的毫秒)。这通常等于startTime+taphold阈值。

startOffset-包含开始事件的X和Y位置的对象(即,当用户按下手指或鼠标时)相对于事件绑定到的元素。分别通过endOffset.xendOffset.y访问。

startPosition-包含开始事件的X和Y位置的对象(即,当用户按下手指或鼠标时)相对于屏幕。分别通过endPosition.xendPosition.y访问。

startTime-taphold启动的JavaScript时间戳(自Unix纪元以来的毫秒)。

target-触发事件的jQuery对象。

doubletap:

firstTap-包含与tap事件相同数据的对象,但用于发生第一次点击。

secondTap-包含与tap事件相同数据的对象,但发生第二次(即最后一次)敲击。

interval-两个抽头之间的时间(以毫秒为单位)。

swipe, swipeup, swiperight, swipedown, swipeleft, swipeend:

direction-表示滑动方向的字符串(uprightendPosition.xleft)。

duration-滑动发生的时间(以毫秒为单位)(为了获得最佳结果,请仅与swipeend一起使用,因为这通常等于定义的swipe-threshold

xAmount-滑动在X轴上占据的像素数(无论方向如何返回)。

yAmount-滑动在Y轴上占据的像素数(无论方向如何返回)。

startEvnt-包含与tap事件相同数据的对象,但在开始滑动时捕获。

endEvent-包含与tap事件相同数据的对象,但在滑动完成时捕获。

6.定义阈值:

您还可以定义用于swipe事件(swipeupswiperight、<12207>和swipeleft)的自定义阈值,以防止干扰滚动和其他事件。为此,只需将data-xthresholddata-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.实用程序功能:

除了提供的许多附加事件外,该库还包括许多实用功能,可用于进一步利用网站或应用程序中本机事件的功能。这些实用函数可用于统一基本事件,如tapstartmousedown

提供了以下实用程序函数(每个函数都注册到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.许可证:

根据麻省理工学院许可证获得许可:

特此免费授予获得本软件副本和相关文档文件(“软件”)的任何人无限制地使用本软件,包括但不限于使用、复制、修改、合并、发布、分发、分许可和/或出售本软件副本的权利,并允许向其提供本软件的人员这样做,符合以下条件:

上述版权声明和本许可声明应包含在软件的所有副本或重要部分中。

软件是“按原样”提供的,没有任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和不侵权的保证。在任何情况下,作者或版权持有人均不承担因软件或软件的使用或其他交易而产生、产生或与之相关的任何索赔、损害赔偿或其他责任,无论是在合同诉讼、侵权诉讼还是其他诉讼中。

jQuery 移动滑块栏根据其值触发不同的事件

在 jQuery 自定义滚动条中使用鼠标滚动事件移动自定义滚动条

zepto和jquery的区别

强大的jQuery图片查看器插件Viewer.js

使用 jQuery 检查没有滚动条的鼠标滚轮事件

Jquery日历插件e-calendar升级版