一个使用 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>