双击具有contenteditable内部的div和iframe禁用div

时间:2013-05-18 09:28:19

标签: ios ipad dojo mobile-safari hybrid-mobile-app

如果我在iframe中创建一个具有contenteditable true的div,如果你双击它就会变得不起作用。焦点仍然在iframe中,你可以看到光标,但它不响应keydown

有没有人知道如何克服这个问题?

修改

我已经实现了一个dojo编辑器。如果您在ipad中打开this link,您将看到上述问题。

2 个答案:

答案 0 :(得分:1)

尝试让一个可信的div在iframe中工作是一个复杂的层次,如果你想让它在像Dojo编辑器这样的特定WYSIWYG编辑器中工作,那就更难了,因为有很多JavaScript影响交互。这将有助于在您的问题中更好地解释参数。

您是否使用浏览器调试器(如Firebug)查看点击时发生的情况?

其他SO question and answer about contenteditable div vs iframe很有用。

最后,如果您使用的是iOS Safari,请确保您使用的是Safari 5.0或更高版本,因为可信属性为only recently supported on that browser

修改 由于您使用的是iOS 6,因此当您单击可编辑的div时,您应该使用the iOS Safari JavaScript Debugger让您更清楚地知道发生了什么。如果您能找到更具体的错误消息,请更新我们。

答案 1 :(得分:1)

您使用的是哪种操作系统?您应该确保使用的是OS 5.0或更高版本。根据{{​​3}}。写道:

iOS 5.0及更高版本支持HTML contenteditable属性。在早期版本中,使用样式化的contenteditable元素替换用于在样式元素中启用文本输入的textarea。在Safari中,您可以使用CSS自定义textarea元素的外观。如有必要,您甚至可以通过将-webkit-appearance设置为无来禁用textarea元素上任何特定于平台的内置样式。

因此,如果您使用的是旧操作系统版本,则可以使用textarea元素而不是contenteditable。然后,保证您的应用程序也能正常运行。

PS。你可以使用你的IPAD继续(Apple's Technical Notes) and Safari Web Content Guide,试试它如何与textarea一起使用。这可能是你的一个例子。

希望有所帮助。