问题标签 [execcommand]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1468 浏览

javascript - execCommand 创建无效的 html

我正在为应用程序创建一个简单的 RTE,它不需要太复杂,所以我认为使用 execCommands 可能是最好的解决方案。但是,我遇到了麻烦,因为这些命令创建了无效的 HTML。这是我正在使用的javascript,任何对造成这种情况的原因的见解将不胜感激。

0 投票
1 回答
266 浏览

javascript - HTML,Javascript - 比 iFrame 更宽的拆分词,而不是生成滚动条

我正在使用 ExecCommand 制作一个非常基本的 WYSIWYG 编辑器,因为未来的项目将需要我制作一个(因此请不要告诉我使用 CKEditor 或 tinyMCE 之类的东西)。正常使用时一切正常。但是,如果您输入的词比 iFrame 宽,则该词不会拆分。相反,滚动条只是添加到 iFrame 中。这是一个显示我的问题的视频:https ://vimeo.com/42699618 所以我想知道防止这种情况的最简单方法是什么?

这是代码:

0 投票
4 回答
4568 浏览

newline - contentEditable area::force 段落换行 - 跨浏览器

Firefox用 换行<br>,Chrome 和 Safari用 换行<div>...</div>,Internet Explorer 和 Opera 用段落<p>...</p>换行。

我正在寻找一种方法来强制每个浏览器在换行时只创建段落。

我知道ckeditor支持这个功能,但我怎样才能在我的自定义编辑器中简单地实现它呢?

0 投票
2 回答
4807 浏览

javascript - 如何取消粗体文本?一个小小的 WYSIWYG 编辑器

嘿 Stackoverflow 社区,

有一种方法str.bold()可以将文本包装在<b></b>标签中。这对于小型 WYSIWYG 编辑器来说是完美的(我知道有些人会说我应该采用数百个开源解决方案中的一个,但这也是出于学习目的)。

问题是如何取消粗体文本。

这是我的尝试http://jsfiddle.net/Kxmaf/178/

我知道有,editor.execCommand('bold', false, '');但这会在每个浏览器上产生不同的 HTML 结果。我只需要<b></b>, <i></i>,<u></u>

任何帮助深表感谢 :)

0 投票
1 回答
157 浏览

javascript - 歌剧中的执行命令错误

最近我不得不在 Opera 中使用 execCommand()。问题是这样的,当我尝试使用此功能更改背景颜色(或文本颜色)时,一切都按预期工作,但是当我混合的颜色多于一种时,就会出现意外行为。我做了一个测试页来理解我的意思:

(参见jsfiddle 的实际操作

所以,尝试将这两种颜色与最新版本的 Opera 混合,你会明白我的意思。

0 投票
1 回答
439 浏览

javascript - 如何检测客户端是否能够使用 execCommand() 粗体文本

我正在使用 execCommand() 从头开始​​制作所见即所得的编辑器。当用户没有选择文本时,我想禁用我的格式按钮(对齐、粗体、斜体、下划线、颜色、大小、系列等)。

我在 IFRAME 中有文档代码,在 IFRAME 之外是按钮/脚本。我使 iframe 的文档 contentEditable 并打开了 designMode。

我该怎么做才能确定是否选择了任何文本?

如果可能的话,我怎样才能知道用户的光标是否在 DIV 元素内的任意位置以进行文本对齐?我确信我可以使用它来检测光标是否也在已经加粗的文本或类似文本中。

0 投票
1 回答
1849 浏览

javascript - 如何在 execCommand 所见即所得编辑器上查找选定的文本字体大小和名称

我正在使用execCommand()我自己的拖放 javascript 函数制作一个所见即所得的编辑器。

如果适用,我希望能够找到所选文本的名称和大小。我该怎么做呢?

是否有与execCommand()此相关的特定功能?

0 投票
0 回答
480 浏览

internet-explorer - 在 IE 中执行命令时如何避免格式化所有文本

我有一个我正在研究的项目,当用户在某种形式的 HTML/javascript 输入中键入时,需要自动格式化文本。现在输入被实现为一个内容可编辑的 HTML 元素。我处理这个问题的方法是使用 keyDown 来确定要添加的内容,并使用 execcommand 在为键事件添加文本之前设置正确的格式。这适用于 Chrome、Firefox 和 Safari。但我在 IE 中遇到了一个相当奇怪的问题。当光标位于可编辑内容的末尾或开头时,对选择使用 execcommand 或切换其值非常有效。问题是,当没有选择任何内容并且光标不在文本的末尾或开头时,execcommand 会影响所有 contenteditable 内容,而不仅仅是当前事件添加的文本。

这是一个快速编码的示例,它相当清楚地显示了这个问题:

基本上,它只是两个 div 中的 ap 元素,随着它的扩展,它会随着它的扩展而扩展,并且格式状态会根据来自 p 元素的 keyDown 事件而改变。它所做的只是确保如果键是数字,则下标是活动的,否则它确保它是不活动的。重现此问题的最简单方法是键入一些数字,然后使用箭头键将光标移回它们。我所看到的是,在初始移动之后,所有下标数字现在都变得正常,因为正在调用下标的 execcommand,因为箭头键不是数字键。导致它发生的另一种方法是在文本中间没有选择任何内容时单击 sub 或 sup 按钮。

理想情况下,如果可能的话,最好了解正在发生的事情,以及一种在没有选择任何内容的情况下切换格式的方法不会影响一切,这样我就可以继续使用这种处理方式。如果这是不可能的,任何有关处理此问题的方法的建议将不胜感激。所需的最终结果是 javascript/HTML 中的文本输入,当有人点击时我会弹出,然后当他们键入时,我可以确定文本的内容以及将要添加的内容并相应地格式化输出,保持光标位置为文本输入通常会。我只担心较新的浏览器,例如 IE9 和支持 HTML5 的主要浏览器的较新版本。

目前我能想出的最好的主意是在我看到问题并尝试通过 DOM 操作插入字符的情况下在 keyDown 处吞下键输入。

0 投票
2 回答
2177 浏览

jquery - 带有 execCommand 调用的 jquery 颜色选择器

选择颜色后尝试调用 execCommand:

但什么也没发生。如果我用 $('#output').html(c) 替换 execCommand,我会看到调用成功。

示例:http: //jsfiddle.net/YQQXV/12/

ColorPicker 插件页面

0 投票
0 回答
864 浏览

javascript - Firefox 中的粗体 ExecCommand 不起作用

我正在使用 execCommand 使我的所见即所得编辑器上的文本变为粗体。该命令工作正常,但现在由于某种原因在 Firefox 14.0.1 中停止工作。发生的情况是,如果我有一个文本并将其加粗然后保存,我会得到这样的东西,(这是我想要的,到目前为止还可以):

现在的问题是,如果我再次选择文本以删除粗体,Firefox 不理解 font-weight 属性,因此它会在我的文本中再次添加 b 标记。例如,在 Firefox 10、Chrome 或 IE 中不会发生这种情况。浏览器在那里理解并删除字体粗细。

所以我的问题是,是否有人对此有所了解?

提前致谢