我正在使用具有 contentEditable 属性的 div 来满足我作为扩展文本字段的简单、跨浏览器解决方案的需求,但我遇到了一个有趣的问题。
这是 div :
<div id="expanderInput" class="inputDiv" contentEditable></div>
这是我在 jquery 中抓取它的地方:
var forwardsTo = $expanderInput.html();
在大多数情况下,这会返回用户在 div 中输入的任何内容,但是当他们开始在 div 中粘贴内容时会发生奇怪的事情。
例如,当您从 Word 粘贴时,它会在浏览器中正确显示文本,但会在 div 中添加额外的 html 代码。当我从 word 中粘贴诸如“bob@aol.com”之类的电子邮件地址时,这是它真正插入到 html 中的代码:
<P style="MARGIN: 0in 0in 10pt" class=MsoNormal><FONT size=3><FONT face=Calibri>bob@aol.com<o:p></o:p></p>
这在尝试获取用户粘贴的简单文本时会产生问题,因为它还会抓取 html 代码,从而难以正确解析。
有没有办法限制用户可以粘贴到 div 中的内容?或者只是让它只能插入简单的文本?