- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以我正在创建类似在线文本编辑器的东西。在经历了一些错误之后,我只注意到如果我尝试做一些事情,比如在中心对齐一些文本,它会创建一个带有 text-align:center
的 div,因为它应该。但是,它最终也会创建一个带有我不想要的字体和粗细属性的跨度,因为字体将由用户在父元素中设置,并且由于文本位于具有自己的字体和粗细属性的跨度中,它永远不会得到应用。
所以在我点击中心按钮之前它看起来像
<div contenteditable="true">Write your text here!</div>
之后
<div contenteditable="true">
<div style="text-align: center;">
<span style="font-size: 1rem; font-weight: 400;">Write your text here!</span>
</div>
</div>
当我想要它的时候
<div contenteditable="true">
<div style="text-align: center;">
Write your text here!
</div>
</div>
如果您希望看到实际示例,我在元素上使用 execCommand("justifyCenter")
之前和之后拍了两张照片。
有关我如何做到这一点的任何建议,以便将父元素字体粗细和大小属性应用于文本而不是它自己的属性,或者如何首先阻止它创建这些属性。
谢谢!
最佳答案
嗯,我好像明白了。出于某种原因,由于父 contenteditable="true"
没有设置它的 font-size
和 font-weight
,它创建了额外的跨度。所以我将这些样式属性添加到父 div 并停止创建它。如果有人再次遇到这个问题,希望这会有所帮助:)
关于javascript - execCommand 向我的元素添加不需要的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57743010/
我试图通过添加这样的 CSS 类以编程方式突出显示搜索词的所有出现: const style = document.createElement('style'); style.setAttribute
我正在尝试使用 execCommand 实现所见即所得的编辑器(我知道存在许多 WYSIWYG 编辑器,但它们对我来说都不够好)。现在,一切正常,但如果我尝试使用 backColor 命令,它似乎不起
我正在使用 vanilla JavaScript 构建一个业余的富文本编辑器,document.execCommand() 对于启用文本编辑器的核心功能至关重要。 例如粗体、斜体和无序列表命令: Ar
我创建一个新的 iframe,然后将其附加到主窗口文档并执行此 javascript: frame.contentDocument.execCommand('insertimage',0,'obama
正如标题所解释的,由于某种原因 document.execCommand('heading', false, 'h1') (或任何其他标题大小)不起作用。但是,其他命令(例如 'bold'、'link
我目前正在制作一个 WYSIWYG 编辑器,但遇到了一些问题。我正在尝试添加链接,但是当我去添加链接时,它会将焦点从 div 上移开,因为用户必须在文本框中键入链接。 我有一个获取光标最后位置的函数:
使用基于选择/键盘命令 的所见即所得 编辑器。效果很好,除了... 与所有其他键盘命令一起,它可以打开和关闭特定样式 I、打击等。 使用 execCommand('bold'),它不会取消加粗文本。这
我想创建一个 WYSIWYG 编辑器,使用 jQuery 作为框架,从中我可以使用不同的方法来简化生产。 我现在确实有一个工作的编辑器,它运行良好。我使用 iFrame,并将其 designMode
如果我在 Firefox 中尝试 execCommand("justifycenter"... 我页面上的一个段落,它不起作用;它给我这个疯狂的错误: uncaught exception: [Exc
所以我正在创建类似在线文本编辑器的东西。在经历了一些错误之后,我只注意到如果我尝试做一些事情,比如在中心对齐一些文本,它会创建一个带有 text-align:center 的 div,因为它应该。但是
不知道这种编辑怎么叫,以前好像在哪里见过。假设您有一篇带有标题、正文和页脚的文章。在您自己的所见即所得编辑器中,每个文章部分都有三个按钮,或者可能有一个包含这些选项的下拉菜单。 当您将文章内容粘贴到编
我有以下 div: 在这个 div 中,我想让特定数量的单词在每次用户输入时都显得粗体。因此,我有以下更改监听器: $('#foo').live('focus', function() { b
我一直在对文档调用 execCommand 以将所选文本加粗或设置其颜色。但最近我需要在一定范围内使用 execCommand 而不是选定的文本。 我可以这样做吗?如果可以,怎么做? 最佳答案 可以,
我试图从我之前创建的特定文本区域中删除tinyMCE,但以下命令不断产生“未定义”错误(使用firebug控制台检查): tinyMCE.execCommand('mceFocus', false,
我有以下代码演示 contenteditable 属性和一个按钮,该按钮将粗体文本注入(inject)到具有 contenteditable 区域的段落中。我的问题是如何在单击粗体后将焦点返回到我离开
这个问题我找了好久,没能解决。我从私有(private) git 存储库中拉下了一个项目。有些人能够构建,而像我这样的其他人却遇到以下错误: Error:Gradle:Execution faile
我正在尝试将网页的所有链接复制到剪贴板。我试图将所有 anchor 标记加入到一个字符串中,将该字符串放入输入字段中,然后通过 document.execCommand("copy") 复制它,但不知
我正在研究带有突出显示选项的自定义文本区域。现在添加了 h1-h4 和粗体选项。 问题: 当我选择文本并单击 Heading1 按钮时,它会设置整行而不是选定文本的样式。当我单击“粗体”按钮时,它仅设
我打算使用 Document.execCommand()方法以及 contenteditable属性来构建我的自定义 WYSIWYG 编辑器。但是当我查看 documentation 时为 Docum
我正在尝试使用 jQuery 和 execCommand 创建一个文本编辑器。一切都很顺利,直到我注意到 superscript 和 subscript 都没有正确切换。 这个 jsFiddle (
我是一名优秀的程序员,十分优秀!