如何禁用contenteditable div中的元素?

Muh*_*bar 6 html javascript css jquery

男人我有一个属性contentEditable为真的div !

我之所以这样做,是因为我希望它像一个textarea,根据它的文字改变它的高度!作品完美

但是,当我复制一个超链接并将其粘贴到我的div而不是纯文本时,它有锚元素...如果我选择任何网站的某些部分并将其粘贴到该contenteditable div中它显示所有HTML,则与其他部分相同.我希望div只显示纯文本并禁用其中的所有元素!

工作小提琴:http://jsfiddle.net/4ctVx/

只需复制其中的任何HTML,它也会显示youdiv与该HTML.我想要禁用它而div只显示纯文本!

小智 3

如果向可编辑内容 div 添加事件侦听器,则可以使用 jQuery 将 RichText 替换为 PlainText。我在这里从balupton获取了事件侦听器:https ://stackoverflow.com/a/6263537/1887483 。

\n\n
$(\'[contenteditable]\').live(\'focus\', function() {\n    var $this = $(this);\n    $this.data(\'before\', $this.html());\n    return $this;\n}).live(\'blur keyup paste\', function() {\n    var $this = $(this);\n    if ($this.data(\'before\') !== $this.html()) {\n        $this.data(\'before\', $this.html());\n        $this.trigger(\'change\');\n    }\n    return $this;\n});\n//use this jQuery snippet to swap HTML for Text.\n$(\'.editableContent\').live(\'change\', function() {\n    $(this).html($(this).text());\n    alert(\'changed\');\n});\xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n