jQuery-Extensions-touchJS

jQuery-Extensions-touchJS是一个非常简单的jQuery touch扩展,用于适配移动端的常用touch操作(点击tab、双击dbTab、长按longPress、长按终止longPressCancel、滑动swipe以及具体滑动方向left right up down),并兼容鼠标手势操作

目前為 2022-12-04 提交的版本,檢視 最新版本

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.cn-greasyfork.org/scripts/454450/1124836/jQuery-Extensions-touchJS.js

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

作者
tutu辣么可爱
版本
1.6
建立日期
2022-11-08
更新日期
2022-12-04
尺寸
6.4 KB
授權條款
未知

jQuery-Extensions-touchJS

  • 一个非常简单的jQuery touch扩展,用于适配移动端的常用touch操作,兼容鼠标手势操作
  • 支持的touch事件:点击tab、双击dbTab、长按longPress、长按终止longPressCancel、滑动swipe,以及具体滑动方向(左left、右right、上up、下down)
  • 原生js请使用普通js版本:js-Extensions-touchJS

参数说明

  • $.touch(evt,fn,fnName)
参数 说明
evt 参数类型:字符串
不可缺省
指定监听的事件类型(具体请见下方事件列表)
fn 参数类型:方法
不可缺省
所监听事件类型发生时,事件处理方法,可接收一个JSON参数
fnName 字符串
可缺省,默认值为fn的方法名(若fn不为匿名方法)
本次事件的事件名。同一事件类型下事件名具有唯一性
  • $.unbindTouch(evt,fnName)
参数 说明
evt 参数类型:字符串
不可缺省
指定需要删除的事件类型(具体请见下方事件列表)
fnName 字符串
可缺省。默认值为null
指定需要删除的事件,若为null,则删除evt指定事件类型所有事件
  • 事件列表
类型 说明 参数
tab 屏幕点击事件 {
target:dom对象,
0:{x:事件发生时的x坐标,y:事件发生时的y坐标}
}
dbTab 屏幕双击事件 {
target:dom对象,
0:{x:事件发生时的x坐标,y:事件发生时的y坐标}
}
longPress 屏幕长按事件 {
target:dom对象,
0:{x:事件发生时的x坐标,y:事件发生时的y坐标}
}
longPressCancel 屏幕长按取消事件 {
target:dom对象,
0:{x:事件发生时的x坐标,y:事件发生时的y坐标}
}
swipe 屏幕滑动事件 {
target:dom对象,
0:{x:事件发生时的x坐标,y:事件发生时的y坐标},
1:{x:事件执行时的x坐标,y:事件执行时的y坐标}
}
left 屏幕左滑事件
(同时触发swipe事件)
{
target:dom对象,
0:{x:事件发生时的x坐标,y:事件发生时的y坐标},
1:{x:事件执行时的x坐标,y:事件执行时的y坐标}
}
right 屏幕右滑事件
(同时触发swipe事件)
{
target:dom对象,
0:{x:事件发生时的x坐标,y:事件发生时的y坐标},
1:{x:事件执行时的x坐标,y:事件执行时的y坐标}
}
up 屏幕上滑事件
(同时触发swipe事件)
{
target:dom对象,
0:{x:事件发生时的x坐标,y:事件发生时的y坐标},
1:{x:事件执行时的x坐标,y:事件执行时的y坐标}
}
down 屏幕下滑事件
(同时触发swipe事件)
{
target:dom对象,
0:{x:事件发生时的x坐标,y:事件发生时的y坐标},
1:{x:事件执行时的x坐标,y:事件执行时的y坐标}
}

使用方式

  • 添加单个事件(以长按为例)
//指定事件名(可省略,但省略后无法指定删除此事件)
$(selector).touch("longPress",()=>{//具体业务},"myLongPress")
//或者指定方法
myLongPress=function(){//具体业务}
$(selector).touch("longPress",myLongPress)
  • 批量添加事件(以长按、长按取消、点击为例)
$(selector).touch({
  //可通过myLongPress方法名指定删除此事件
  longPress:myLongPress,
  //无法指定删除
  longPressCancel(){//具体业务},
  tap(){//具体业务}
})
  • 删除指定类型的所有事件(以长按为例)
//删除longPress所有事件,格杀勿论
$(selector).unbindTouch("longPress")
  • 删除指定方法对应的事件(以长按为例)
//通过指定事件名确认唯一事件(添加事件时指定)
$(selector).unbindTouch("longPress","myLongPress")
//或者通过指定方法确认唯一事件
$(selector).unbindTouch("longPress",myLongPress)
  • 其他杂项方法或属性
//禁用所有touch事件(仅限于通过本插件产生的事件方法)
$(selector).attr("touchJS-disabled","")
//查看所有touch事件(仅限于通过本插件产生的事件方法)
$(selector)[0].libForTouchJsExt