1

就像其他问题一样,我希望能够在用户更改内容可编辑 DIV 的内容时调用函数。但是,我想支持 IE 7-10。IE 7 和 8不支持'input' 事件。标准模式下的 IE 9 和 IE 10 支持“输入”,但无法触发“输入”事件以响应剪切、粘贴、删除(从上下文菜单)或文本删除操作。此外,当用户从上下文菜单中选择建议的拼写时,Windows 8 上的 IE 10 不会触发“输入”事件以响应拼写更正更改。

http://fiddle.jshell.net/2ScfA/show/

在所有版本的 Internet Explorer 中,我在使用“剪切”和“粘贴”上下文菜单选项时都会看到“剪切”和“粘贴”事件。

在 IE 9 标准模式和 IE 10 中,我可以使用 DOMNodeRemoved 和 DOMNodeInserted 来处理因将文本放入可内容编辑的 DIV 或使用上下文菜单更改 DIV 的内容而导致的更改。

但是,IE 7 和 8 不支持 DOM 突变事件。如果我使用 IE 7 或 8 的删除或撤消上下文菜单选项或将文本放入 DIV,我不会看到针对这些更改触发的事件。

当用户从上下文菜单中选择删除或撤消,或者将文本放入 DIV 并且内容可编辑 DIV 的内容发生更改时,是否会在 IE 7 和 8 中触发事件?

4

2 回答 2

2

onselectionchange在 IE 中是一个非常有用的事件。oninput它在与较新的浏览器中非常相似的条件下触发。

于 2013-07-20T15:41:59.157 回答
1

您还可以将事件名称从“input”更改为“textinput”,它可以在 IE 中运行,如果有帮助,我会在不久前在我们的社交平台上进行支持请求修复。内容可编辑和 IE 可悲地玩得不好。

于 2016-11-04T00:29:06.017 回答