首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jquery移动点击而不是单击

问使用jquery移动点击而不是单击
EN

Stack Overflow用户
提问于 2014-01-07 23:43:09
回答 1查看 7.9K关注 0票数 7

我正在制作一个需要运行在移动设备和非移动设备上的web应用程序。在我的应用程序中,用户可以单击几个图标,以便使用websockets向服务器发送消息。

我的代码看起来像是:

代码语言:javascript
复制
$('.button-container').on('tap', '.sender', function() {
    socket.send('Message');
});

使用‘点击’代替‘点击’是为了提供对iPad (和其他移动设备)的支持,但由于这似乎有点像黑客,我有一些担心。

“点击”似乎适用于我的测试浏览器,Safari 7,Chrome 34和Firefox 26 (都是非移动的),但是对其他非移动浏览器的支持如何呢?

另外,对于非移动浏览器,使用“点击”是否存在已知的问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-08 09:05:05

jQuery移动特别事件,即tap、taphold、vclick...etc,最初是将触摸和鼠标事件转换为特殊事件。

例如,tap和vclick要么是touchstart/touchend,要么是mousedown/mouseup。

在加载jQuery移动时,它检查浏览器是否支持触摸,并相应地将事件转换为鼠标事件或触摸事件。

根据浏览器的触摸支持,您可以在事件之间进行交替。对于非接触式浏览器,使用click和支持touch的浏览器,使用tap。

在启动时,检查$.support.touch,它将返回true (tap)或false (click).

代码语言:javascript
复制
var custom_event = $.support.touch ? "tap" : "click";

$(document).on(custom_event, "element", function () {
  /* code */
});

在桌面和移动平台上测试下面的演示。

Demo

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20984308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档