加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 02:45:36 所属栏目:百科 来源:网络整理
导读:我正在谈论弹出的其中一个对话框: http://jquerymobile.com/test/docs/pages/page-dialogs.html (移动http://bit.ly/KhCGVD的简称网址) 单击“打开对话框” – 在该对话框中,除非在链接中使用“data-ajax =”false“’,否则在iOS中不能复制任何内容. (适用
我正在谈论弹出的其中一个对话框:
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上进行了测试,在这个小补丁之后可以使用复制功能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读