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

 duangjai_602 发布于 2023-02-05 12:25

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

我的代码看起来像:

$('.button-container').on('tap', '.sender', function() {
    socket.send('Message');
});

使用"点击"代替"点击"是为了为iPad(和其他移动设备)提供支持,但由于这看起来有点像黑客,我有一些担忧.

"tap"似乎适用于我的测试浏览器,Safari 7,Chrome 34和Firefox 26(所有非移动设备)但是如何支持其他非移动浏览器?

对于非移动浏览器,使用"点击"而非"点击"也有任何已知问题吗?

1 个回答
  • jQuery Mobile的特别活动,即tap,taphold,vclick...等,原本是触摸鼠标事件转换成特殊事件.

    例如,tap并且vclicktouchstart/ touchendmousedown/ mouseup.

    在加载jQuery Mobile时,它会检查浏览器是否支持触摸,因此事件将转换为鼠标事件或触摸事件.

    您可以根据浏览器的触摸支持在事件之间切换.对于非触摸浏览器,请使用click和支持touch,使用的浏览器tap.

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

    var custom_event = $.support.touch ? "tap" : "click";
    
    $(document).on(custom_event, "element", function () {
      /* code */
    });
    

    在桌面和移动设备上测试以下演示.

    演示

    2023-02-05 12:27 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有