微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用ajax时,在iOS中按住文本不会显示jQueryMobile对话框上的“复制”按钮

我正在谈论弹出的其中一个对话框:
http://jquerymobile.com/test/docs/pages/page-dialogs.html

(移动http://bit.ly/KhCGVD的简称网址)

单击“打开对话框” – 在该对话框中,除非在链接中使用“data-ajax =”false“’,否则在iOS中不能复制任何内容. (适用于Android)

放’-webkit-user-select:auto!important;’ (或’text’而不是’auto’)什么都不做.

添加javascript’document.documentElement.style.webkitTouchCallout =“auto”;’什么也没做.

我非常渴望能够完成这项工作,因为我已经建立了一个完整的东西,假设复制可以在iOS和Android上运行,但是在iOS完成之前没有测试:(.

任何帮助将不胜感激,谢谢.

编辑:在4.3.5 – 4.3.2 – iOS 5.1上测试 – 无法正常工作

解决方法

我担心我无法为你的问题提供简单的答案(比如在config或init中添加一些内容),但我希望当前的解决方案就足够了.

问题

问题在于该框架的代码.首先,我们有一个jquery.mobile.dialog.js文件,其中有一行:

$el.bind( "vclick submit",function( event ) {
               // code
            })

正如您在此处所看到的,我们正在向$el – 整个对话框容器添加绑定vclick.

它自己的事件vclick是由jQuery Mobile在vmouse.js中生成的,在挖掘之后我设法检测到实际问题出现的地方:

$( this ).bind( realType,dummyMouseHandler );

这条线是在某些浏览器中使事件工作所必需的,即Opera Mini(如此行上方的注释文本中所述).

所以,这里有一个解决方案,打开文件jquery.mobile.vmouse.js并注释掉行

$( this ).bind( realType,dummyMouseHandler );

我在iPad上进行了测试,在这个小补丁之后可以使用复制功能.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐