【问题标题】:How to prevent converting a@b to a mailto link in contenteditable div in IE如何防止在 IE 的 contenteditable div 中将 a@b 转换为 mailto 链接
【发布时间】:2012-09-30 07:46:59
【问题描述】:

我正在尝试使用 contenteditable div 创建一个小部件,当我们在@(比如@xxx)之后键入任何内容时,会触发 ajax 调用以返回匹配的“xxx”值的可能建议。如果我在 '@' 前面有一个空格,但如果在 '@' 前面没有空格(就像这样 - abc@xxx),这一切都很好,整个事情就变成了一个 mailto 链接。在我看来,这是 IE 的默认行为。

谁能帮助我防止这种情况发生?非常感谢任何建议。

提前致谢!!!

【问题讨论】:

  • 你能告诉我们你目前有什么代码吗?
  • 发布代码真的很难,但我创建了一个示例here。只需输入 abc@xyz 并按键盘上的向上或返回导航键。您将看到文本在 Internet Explorer 中被转换为 mailto 链接。

标签: javascript internet-explorer contenteditable


【解决方案1】:

有一个名为AutoUrlDetect 的命令标识符,您可以在document.execCommand() 中使用它来防止这种行为(以及所有链接的自动插入)。遗憾的是它只适用于 IE 9 及更高版本。

document.execCommand("AutoUrlDetect", false, false);

演示:http://jsfiddle.net/3ELJD/1/

【讨论】:

  • 感谢您的回复蒂姆。这适用于 IE9 中的兼容模式。但我想我需要在纯 IE7 和 IE8 浏览器中测试一下。
  • @KapilKashyap:我很确定我之前在真正的 IE 7 和 8 中尝试过,但没有成功。此外,IE 博客提到它已在 IE 9 中启用:blogs.msdn.com/b/ieinternals/archive/2010/09/15/…
猜你喜欢
  • 1970-01-01
  • 2021-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-02
  • 2011-05-30
  • 1970-01-01
相关资源
最近更新 更多