我已经设置了一个jsfiddle来演示我遇到的麻烦。您必须使用Mobile Safari在iPad或运行iOS 6或7的iPad模拟器上打开链接。
http://jsfiddle.net/mrtidy/j4xPh/1/
您应该在右下方看到CKEDITOR,当您将光标放在那里并开始输入时,您应该看到光标实际上移动到HEADER和CONTENT之间。无论你输入什么,仍然会出现在CKEDITOR中。如果您滚动屏幕以便可以看到CKEDITOR的内容并键入,那么您将看到键入的内容,直到您按空格键或开始一个新单词,此时光标向上移动并且您的视图会发生变化,因此您可以看到光标在HEADER和CONTENT之间再次。
这是我的页面结构:
<div id="wrapper">
<div id="header">
HEADER
</div>
<div id="main">
<div id="content">
CONTENT
</div>
<div>
<textarea name="test-editor" id="test-editor" rows="3"></textarea>
</div>
</div>
</div>
以下是我在页面上的所有JS:
CKEDITOR.replace("test-editor");
有谁知道原因?如果没有,你能帮助我缩小原因吗?如果我运行这样的演示,其中CKEDITOR不在iframe中,那么它在iPad上工作得很好,但如果我的视图包含在iframe中(例如使用jsfiddle),那么我会在iPad上获得这个有趣的光标行为。
谢谢。