使用PhoneGap开发的iOS应用程序向用户显示大量HTML内容。用户可以将文本部分加粗,加下划线...,但不应添加或删除现有文本。
因此,我默认在HTML中将div的contentEditable设置为“false”。使用execCommand()格式化选定的文本。当用户选择文本并单击“粗体”按钮时,我在执行execCommand()之前将contentEditable更改为“true”,然后将其设置为“false”。 execCommand()使文本在包括Safari在内的所有桌面浏览器中都按预期加粗,但在iPhone / iPad中则不行。
非常感谢您的帮助。
示例代码:(我在iOS 5.1模拟器中测试过它)
<html>
<head>
<script>
function bold()
{
var content = document.getElementById("content");
content.contentEditable = true;
//document.body.contentEditable = true;
var result = document.execCommand('bold', false, null);
content.contentEditable = false;
//document.body.contentEditable = false;
};
</script>
</head>
<body>
<div id="content">this is the same text used for testing...</div>
<br><br>
<input type="button" value="bold" onclick="javascript: bold();"/>
</body>
</html>