[英]Javascript add bold text to a frame
我想在上添加粗体(参见插图)。 如果我这样做:
p:function{
sel = this.getSelection().getRangeAt(0);
var caretPosition = sel.endOffset;
var existingText = this.iframe[0].contentWindow.document.body.innerText;
var before = existingText.substring(0, caretPosition);
var after = existingText.substring(caretPosition);
this.iframe[0].contentWindow.document.body.innerHTML= before
+'**<b>**(see illustration)**</b>** ' + after;
},
然后,我写的所有文字(请参见插图变为粗体)。
如果您想使用粗体,斜体或其他命令创建可编辑的iframe
,则可以使用基础浏览器命令,这些命令可以通过execCommand
方法触发。
您可以在此处看到更多信息的资源:
https://developer.mozilla.org/zh-CN/docs/Web/API/document.execCommand
https://developer.mozilla.org/en/docs/Rich-Text_Editing_in_Mozilla
所有现代浏览器均支持这些方法。
我提供了一个简单的示例,向您展示execCommand
工作方式
<iframe id = "my-editable">
<html>
<body contenteditable = "true">
</body>
</html>
</iframe>
JavaScript代码:
var iframe = document.getElementById('my-editable');
var iframeDoc = iframe.contentWindow.document;
// type and select some text into iframe
// For making selected text to be bold, just execute the following command
iframeDoc.execCommand('bold');
更新
var body = iframeDoc.body;
body.innerHTML = body.innerHTML + '<b>' + 'your bold text' + '</b>' + 'your boldless text'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.