jQuery UI Touch Punch 在 android 设备上的 chrome 和 opera 中不起作用



我在我的网站上使用 jQuery UI 拖放和排序,但它不适用于 chrome 和 opera 等 android 设备浏览器,但它适用于默认浏览器和 Firefox 手机。甚至我也使用了Touch Punch插件。

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

我认为

这可能是浏览器兼容性,并非所有的TouchPunch演示都可以在Chrome或默认浏览器或iPad 4中的Android 4.3设备上运行。

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

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

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

我在某些移动浏览器上遇到了同样的问题,而其他浏览器则运行良好。 我能够通过将 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>

(附带提示:为了在不同浏览器之间实现最大兼容性,我使用结束脚本标签,而不仅仅是自闭合)

我遇到了同样的问题。看看这个带有修复的分叉:https://github.com/fr33kvanderwand/jquery-ui-touch-punch

您对触摸冲击事件的问题正在讨论:https://github.com/furf/jquery-ui-touch-punch/issues/215

版本

70之后的Chrome不支持触摸事件。所以你需要替换下面的行,jquery-ui-touch-punch/jquery.ui.touch-punch.js14号线

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

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

最新更新