html - 使用 contenteditable 了解 CSS 属性

标签 html css contenteditable

我有一个带有 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 ""
});

最佳答案

您可以使用 queryCommandState 查找目标当前是否启用了特定命令,这将返回目标当前状态命令的 bool 值。

if(document.queryCommandState('bold')){
  // The target (cursor) is currently bold
}

您可以在 MDN 上的 contenteditable 中找到可用的命令,网址为 https://developer.mozilla.org/en-US/docs/Rich-Text_Editing_in_Mozilla

关于html - 使用 contenteditable 了解 CSS 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17170915/

相关文章:

html - 我想使用 float 并排放置两列,但其中一列未正确放置...为什么?

javascript - 如何使用 jquery 计算选项卡的高度以将页脚向下推

javascript - 使用ajax(jQuery mobile)用php刷新文本文件

css - 叠加多个div图片

html - 鼠标悬停子菜单

html - ContentEditable 上可靠的跨浏览器信息

python - 检查 BeautifulSoup 3 中的元素类型

html - 为什么div和旋转的div(三 Angular 形)之间有间隙

javascript - Angular contenteditable 更改事件未触发

jquery - 使用内容可编辑元素的选择?