3

在 iOS 5 及以下版本中运行良好,jQuery iButton 插件在 iOS 6 中仍然有效,但会导致页面上的多个其他元素不再可点击。(发生在 chrome 和 iPad 上的 safari 中)

当触摸这些元素时,它们不会集中注意力,而是它们的父元素。

这似乎与使用的 jQuery 版本无关。

有谁知道可能的解决方法?

或者有人对 iOS 风格的开/关按钮的替代库提出建议。(还应该支持触摸/滑动等)

由于我们正在开发一些封闭的后端应用程序,因此很遗憾无法发布代码示例。

4

2 回答 2

11

找到了解决方案。

替换这个:

$(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()

于 2012-10-23T11:20:49.853 回答
3

这可以为您节省几秒钟的谷歌搜索时间。我使用 .on 方法为 jQuery 版本 1.8.3 (> 1.7) 实施了上面建议的修复。经测试可在iOS 6.0.1上运行:

$(document).on("mouseup.iButton_" + id + " touchend.iButton_" + id, ".ibutton-container", function(e) {
于 2013-08-19T08:57:57.787 回答