jQuery Mobile Tap是否对应于向这样的元素添加事件侦听器:
myElement.addEventListener("touchstart", touchStartHandler, false);
如果是,那么剩余的正常事件如touchmove
,touchend
等等呢?我的意思是它们在jQuery Mobile中的等价物是什么?
感谢您指导我。
答案 0 :(得分:1)
内部tap
使用vclick
。
如果您在此列表中未找到任何事件,则不会使用相同名称公开事件:https://api.jquerymobile.com/category/events/
这意味着,例如:如果您需要像往常一样处理touchstart,touchend和touchmove,您可能最终会使用一组虚拟鼠标事件处理程序:vmousedown, vmousemove, vmouseup
和vclick
但您可能需要自己处理指针(鼠标或手指)的状态。不要忘记处理vmousecancel
。
此外,您应该注意等待某些事件有延迟。
以下是一个简短的摘录,来自jQuery Mobile文档,其中包含一些关键触摸设备(移动或现代混合笔记本电脑)的关键概念:
基于Webkit的浏览器可以合成mousedown,mouseup和click事件 在派遣事件发生后大约300毫秒。
jQuery Mobile taphold在750ms后触发。
在1500ms之后,它不是触摸事件。滚动,TouchMove和 TouchEnd事件使用此功能。阻止列表已清除。
我们建议您在任何时候使用click而不是vclick 触发有可能改变下面的内容 在屏幕上触摸的一点。这包括页面转换和 其他行为,如崩溃/扩展,可能导致 屏幕移位或内容被完全替换。
度过愉快的一天
答案 1 :(得分:0)
我不知道他们处理句柄的方式是否完全相同,但他们都等待一个动作然后执行funciton。 在jquery mobile中你可以做到
$( “P”)。在( “taphold”,函数(){
$(本).hide();
});
和$(函数(){
$(“div.box”)。bind(“tap”,tapHandler);
function tapHandler(event){
$(event.target).addClass(“tap”);
}
});