我有一个contenteditable=true
的框,其中包含多种css样式(粗体,斜体,......)。
如果我在粗体文本附近写,新文本也将以粗体显示。有没有办法知道,使用Javascript,哪些属性将应用于文本?
修改
以下是JFiddle的一个小例子:http://jsfiddle.net/WgCBZ/
如果我在粗体文字中或之后书写,我会用粗体书写,如果我在无格式文字中或之后书写,我会写出没有风格。
我想知道将在按键上写下的文字的样式。
$(document).keypress(function(event) {
// Find the style
// If bold will be written alert "bold"
// If italic will be written alert "italic"
// else alert ""
});
答案 0 :(得分:2)
您可以使用queryCommandState
查找当前是否为目标启用了特定命令,该命令将返回目标当前状态命令的布尔值。
if(document.queryCommandState('bold')){
// The target (cursor) is currently bold
}
您可以在https://developer.mozilla.org/en-US/docs/Rich-Text_Editing_in_Mozilla
的MDN上找到contenteditable
中可用的命令