document.queryCommandValue在Firefox中返回(空字符串)

时间:2014-01-06 09:17:49

标签: javascript html5 firefox contenteditable

我想读一下contenteditable元素中的某个文本是否为粗体。在Chrome document.queryCommandValue("bold")中返回"true"/"false"作为字符串,IE返回true/false作为布尔值,但Firefox在开发者控制台中返回(empty string)

我做了一个小提琴作为例子: http://jsfiddle.net/nTQd2/

如果你在div中写下som文本,请将其标记,然后点击“Bold”,该范围应显示"true"/"false"true/false。我真的不在乎它是否是一个字符串或一个布尔值,因为我可以在以后转换它。

2 个答案:

答案 0 :(得分:8)

对于粗体,斜体和类似字体,请使用document.queryCommandState()。使用document.queryCommandValue()表示非布尔命令。

http://jsfiddle.net/nTQd2/1/

答案 1 :(得分:1)

这很简单。

Document.queryCommandValue() 

返回一个字符串。而不是那样使用它。

Document.queryCommandState('Bold')

这将返回一个布尔值为true / false。

示例:

function isSelectedTextBold()
{
    var isBold = document.queryCommandState("Bold");
    return isBold;
}

我还为其他格式化选项指定了函数调用。

  1. 斜体 - > document.queryCommandState("斜体&#34);
  2. 下划线 - > document.queryCommandState("下划线&#34);
  3. 左对齐 - > document.queryCommandState("证明左边&#34);
  4. 中心对齐 - > document.queryCommandState("中间对齐&#34);
  5. 右对齐 - > document.queryCommandState("证明右边&#34);
  6. 我希望这会有所帮助。 :)