2014-01-06 53 views
1

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

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

如果你写在div索姆文本,标记它,然后点击“大胆”的跨度应该显示"true"/"false"true/false。我真的不在乎它作为一个字符串或布尔值,因为我可以稍后再进行转换。

回答

0

这很简单。

Document.queryCommandValue() 

返回一个字符串。而不是用这个。

Document.queryCommandState('Bold') 

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

例子:

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

我也指定函数调用其他格式化选项。

  1. 斜体 - > document.queryCommandState(“Italic”);
  2. 下划线 - > document.queryCommandState(“Underline”);
  3. Left Justify - > document.queryCommandState(“justifyLeft”);
  4. Center Justify - > document.queryCommandState(“justifyCenter”);
  5. Right Justify - > document.queryCommandState(“justifyRight”);

我希望这会有所帮助。 :)