【问题标题】:jQuery UI Touch Punch is not working in chrome and opera on android devicejQuery UI Touch Punch 无法在 chrome 和 android 设备上运行
【发布时间】:2014-01-09 10:37:56
【问题描述】:

我在我的网站中使用 jQuery UI 拖放和排序,但它不能在 chrome 和 opera 等 Android 设备浏览器中工作,但它在默认浏览器和 Firefox 移动设备中工作。甚至我使用了 Touch Punch 插件。

这个问题是因为安卓设备的浏览器兼容吗?

【问题讨论】:

    标签: android jquery jquery-ui-sortable


    【解决方案1】:

    我认为这可能是浏览器兼容性问题,并不是所有的 TouchPunch 演示都可以在我的 Android 4.3 设备上使用 Chrome 或默认浏览器,或者 iPad 4。

    TouchPunch 确实声明它是一个 hack,所以我正在避免它并试图找到另一个解决方案。 Nestable 似乎工作得很好,但我认为它没有处于积极开发中。

    更新
    写完我的答案后,我读到 TouchPunches GitHub 页面上的演示不适用于某些运行 chrome 的移动设备,因为 GitHub 可能将 JS 作为 Text/Html 提供。

    在本地或在开发服务器上使用 TouchPunch 脚本似乎工作正常,它只是 Git Hub 页面上的演示,它与移动版 chrome 存在问题。

    【讨论】:

      【解决方案2】:

      我在某些移动浏览器上遇到了同样的问题,而其他浏览器运行良好。如果按如下方式将 type="text/javascript" 添加到我的脚本标记中,我能够修复

      <script type="text/javascript"><!-- copy TouchPunch JQuery hack here --></script>
      

      或者如果你的js在外部文件中,一定要加上type属性

      <script type="text/javascript" src="http://domain.com/pathtotouchpunchjsfile.js"></script>
      

      (提示:为了不同浏览器之间的最大兼容性,我使用结束脚本标记而不是自动关闭它)

      【讨论】:

        【解决方案3】:

        我有同样的问题。 看看这个 fork 的修复:https://github.com/fr33kvanderwand/jquery-ui-touch-punch

        您的触摸打孔事件问题正在这里讨论:https://github.com/furf/jquery-ui-touch-punch/issues/215

        【讨论】:

        • 这里非常不鼓励仅链接的答案,因为链接将来可能会失效。我建议您使用您引用的来源中的引用来编辑您的答案。
        【解决方案4】:

        chrome 70 以后不支持触摸事件,所以需要替换下面的行, jquery-ui-touch-punch/jquery.ui.touch-punch.js 第 14 行

        $.support.touch = 'ontouchend' in document; 
        

        $.support.touch = 'ontouchend' in document || navigator.maxTouchPoints > 0;
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-06-20
          • 2017-04-20
          • 1970-01-01
          相关资源
          最近更新 更多