我Document.execCommand()
用来操纵的内容<div contentEditable = true id="#TextEditor">
。
通过单击按钮,我可以对文本编辑器启用粗体显示。我用来启用粗体的代码是<button id="#ApplyBold">B</button>
$('#ApplyBold').click(function () {
$('#TextEditor').focus();
document.execCommand('bold', false, null);
});
这使文本编辑器的粗体启用成为可能。同样,我有斜体和下划线按钮。
现在,如何检测由document.execCommand()
命令启用的样式。例如,如果我启用了粗体和斜体,则需要一个函数说GetAppliedStyles()
,它可以返回通过document.execCommand()
命令启用的应用样式。在这种情况下,它们为粗体和下划线。
function GetAppliedStyles()
{
var styles = new Array();
styles = document.execCommand().aCommandName; //which returns list of styles applies
return styles;
}
它不符合您的思维方式。execCommand('bold')
是一个事件,不是可以观察到的持续的“效果”,它会在当前光标位置的contentEditable节点上添加一个<b>
或<strong>
标记。
如果需要在编辑过程中检查当前样式,则可以查找当前插入符号位置(Get contentEditable插入符号索引位置),然后从DOM中向上搜索以查找该位置当前包含的标签(.closest('b')
例如)。
2020年编辑:这个答案已经过时;Shashank的答案中提到的queryCommandState方法目前可能是一个更好的选择。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句