6

伙计,我有一个属性contentEditable为 true 的 div!

我这样做是因为我希望它像一个文本区域一样根据其文本改变其高度!完美运行

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

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

只需复制其中的任何 HTML,它还会显示带有该 HTML 的 youdiv。我希望它被禁用并且 div 只显示纯文本!

4

1 回答 1

3

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

$('[contenteditable]').live('focus', function() {
    var $this = $(this);
    $this.data('before', $this.html());
    return $this;
}).live('blur keyup paste', function() {
    var $this = $(this);
    if ($this.data('before') !== $this.html()) {
        $this.data('before', $this.html());
        $this.trigger('change');
    }
    return $this;
});
//use this jQuery snippet to swap HTML for Text.
$('.editableContent').live('change', function() {
    $(this).html($(this).text());
    alert('changed');
});​
于 2012-12-08T16:48:49.433 回答