6

男私はtrueの属性を持つdivを持っていcontentEditableます!

テキストに合わせて高さが変わるテキストエリアみたいな感じで作ってみた!完璧に動作します

しかし、ハイパーリンクをコピーして、プレーン テキストではなく div に貼り付けると、アンカー要素があります... Web サイトの一部を選択して contenteditable div に貼り付けると、すべての HTML が表示されます。そのdivにプレーンテキストのみを表示し、その中のすべての要素を無効にしたい!

作業フィドル: http://jsfiddle.net/4ctVx/

その中のHTMLをコピーするだけで、そのHTMLでyoudivも表示されます。それを無効にして、divにプレーンテキストのみを表示したい!

4

1 に答える 1

3

編集可能なコンテンツ div にイベント リスナーを追加すると、jQuery を使用して RichText を PlainText に置き換えることができます。ここでバルプトンからイベントリスナーを引っ掛けました: 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 に答える