如何使contentEditable在iOS 5/iOS 6下工作
How to make contentEditable work under iOS 5/iOS 6
我目前正在开发一个内容可编辑的iframe,到目前为止,它在除移动Safari之外的所有浏览器下都能完美工作。我使用的是iOS 5.1.1。该问题在最新版本的支持contentEditable的任何iOS版本中都是可复制的。
问题如下:当你点击内容时,内容会正确聚焦,你可以移动光标和所有东西,但一旦你对其应用了操作,就会发生以下情况:焦点仍然在iframe中,您可以看到光标,但它不像以前那样响应keydown。即使我移动了光标,仍然试图在里面键入任何内容,也不会发生任何事情。
以下是发生的情况的示例:http://www.quirksmode.org/dom/execCommand/
如果您将iframe集中在内容内的任何位置,并说您应用文本右对齐。内容正确地向右对齐,但如果您尝试键入任何其他字符,您可以看到ui会锁定,但光标所在的位置不会出现新字符。如果您尝试应用不同的命令,它仍然可以工作。
有人知道我该如何解决这个问题吗?
您可以简单地使用Iframes设计模式而不是contenteditable属性来使任何HTML元素都可编辑。
使iframe中的元素可编辑的javascript代码是:
var iframe = document.getElementById ('the iframe Id ') ;
var doc = iframe.contentDocument || iframe.contentWindow.document;
doc.designMode = "on";
当我读到在这个方法中没有发现跨浏览器的问题
有关完整参考,请参阅此处
升级您的iOS版本是一个选项吗?我刚刚使用iOS 6.1测试了您描述的所有条件,没有出现任何问题。
由于iOS5是第一个支持内容可编辑的iOS Safari版本,因此该实现可能包含错误。它似乎已经成熟了。
iOS 5.1.1支持HTML5的最低功能。在您将其更新到iOS7后,它将运行良好。
相关文章:
- 为什么不't在iOS上启动按钮下拉工作
- 在Phonegap/iOS中按下主页按钮时访问本地存储
- Cordova收听iOS主页按钮按下
- 使用触摸启动导航下拉菜单,以实现 IOS 功能
- 您如何控制在填写表单时单击下一步时 iOS/Android 将关注哪个字段
- iOS中的上一个/下一个按钮对于通过JavaScript隐藏/显示的输入被禁用
- 如何使contentEditable在iOS 5/iOS 6下工作
- iOS Safari下的密码错误
- Fullpage.js在横向模式下无法在iOS上正常缩放
- Adobe Edge生成的带有覆盖的视频,在没有全屏的情况下在ios上播放
- WebView中的Html页不会激发'可见性更改'用户按下主页按钮时的事件(iOS 8)
- iOS Safari过度滚动:下拉与弹跳
- HTML & JS:如何在移动设备(iOS)上打开带有视口的网站,默认情况下使用小视口
- 如何在不退出应用程序的情况下在iOS上检测4个手指触摸
- 如何在没有警报消息的情况下获得网络视图中的地理定位权限(iOS)
- HTML5:如何在iOS中获得本地播放器上一个和下一个按钮事件
- 当按下窗口的上部时,防止Ios设备滚动到顶部
- 当按下网页按钮时更改iOS选项卡栏项目名称
- JS:如何在没有地址栏和缩放的情况下主持iOS触摸移动游戏
- iOS Safari似乎永远不会触发滚动事件,如果鼠标下的元素只有"overflow-y: scroll&qu