检测 MS 边缘中的覆盖模式



我正在编写一个利用按键的脚本,我需要检测用户是否处于insert模式或overwrite模式。

幸运的是,覆盖模式在Firefox,Chrome或Safari中不是一回事,但它在Edge中。

我已经做了大量的搜索,我找到的唯一适用的代码是:

document.queryCommandValue("OverWrite");

但是,从我所能收集的信息来看,自IE11以来,这似乎一直不受支持。在 Edge 中,无论您是否处于插入模式,它都会返回一个空字符串。

我尝试改用document.queryCommandState('OverWrite');,但同样它总是返回 false。

有没有人知道测试这个的新方法,假设这是一个可以测试的东西?

我尝试使用MS Edge对其进行测试,并且能够产生该问题。可能是某种错误,或者 Edge 团队需要添加对 API 的支持。我将尝试提交有关此问题的反馈。

作为解决方法,您可以参考此答案。您可以使用答案中的 jsfiddle 演示来检测 Edge 中的覆盖模式。但是该函数的缺点是,当您在输入末尾添加字符时,模式检测将不起作用。

最新更新