如何禁用contenteditable div中的元素?

时间:2012-12-08 14:21:56

标签: javascript jquery css html

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

我之所以成功,是因为我希望它能像文字区一样根据文字改变高度!完美作品

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

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

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

1 个答案:

答案 0 :(得分: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');
});​