在 iOS 5 及以下版本中运行良好,jQuery iButton 插件在 iOS 6 中仍然有效,但会导致页面上的多个其他元素不再可点击。(发生在 chrome 和 iPad 上的 safari 中)
当触摸这些元素时,它们不会集中注意力,而是它们的父元素。
这似乎与使用的 jQuery 版本无关。
有谁知道可能的解决方法?
或者有人对 iOS 风格的开/关按钮的替代库提出建议。(还应该支持触摸/滑动等)
由于我们正在开发一些封闭的后端应用程序,因此很遗憾无法发布代码示例。
在 iOS 5 及以下版本中运行良好,jQuery iButton 插件在 iOS 6 中仍然有效,但会导致页面上的多个其他元素不再可点击。(发生在 chrome 和 iPad 上的 safari 中)
当触摸这些元素时,它们不会集中注意力,而是它们的父元素。
这似乎与使用的 jQuery 版本无关。
有谁知道可能的解决方法?
或者有人对 iOS 风格的开/关按钮的替代库提出建议。(还应该支持触摸/滑动等)
由于我们正在开发一些封闭的后端应用程序,因此很遗憾无法发布代码示例。
找到了解决方案。
替换这个:
$(document).bind("mouseup.iButton_" + id + " touchend.iButton_" + id, function(e) {
有了这个:
$(document).delegate(".ibutton-container","mouseup.iButton_" + id + " touchend.iButton_" + id, function(e) {
在ibutton插件中。
(在大于 1.7 的 jquery 版本中,您应该使用on()
而不是delegate()
)
这可以为您节省几秒钟的谷歌搜索时间。我使用 .on 方法为 jQuery 版本 1.8.3 (> 1.7) 实施了上面建议的修复。经测试可在iOS 6.0.1上运行:
$(document).on("mouseup.iButton_" + id + " touchend.iButton_" + id, ".ibutton-container", function(e) {