ねえStackoverflowコミュニティ、
貼り付け時にHTMLコードをクリーンアップするサンプルコードを作成しましたが、期待どおりに機能していません。すべてのペーストで複製されて<textarea>
おり、ペーストが機能していません。
これがJsFiddleです:http://jsfiddle.net/Kxmaf/214/
どんな助けでも大歓迎です:)
ねえStackoverflowコミュニティ、
貼り付け時にHTMLコードをクリーンアップするサンプルコードを作成しましたが、期待どおりに機能していません。すべてのペーストで複製されて<textarea>
おり、ペーストが機能していません。
これがJsFiddleです:http://jsfiddle.net/Kxmaf/214/
どんな助けでも大歓迎です:)
新しいバージョン: http://jsfiddle.net/Kxmaf/218/
あなたは正しかったのですが、貼り付けイベントの待ち時間setTimeout()
については知りませんでした。今、私はFFで見ましたが、それはちょっとバグがあるので、私はそれをかなり単純化しました(これ以上焦点を当てないでください、execCommand):document.execCommand()
$editor.on('paste, keydown', function() {
var $self = $(this);
setTimeout(function(){
var $content = $self.html();
$clipboard.val($content);
},100);
});
これはどうですか:http://jsfiddle.net/Kxmaf/215/
$editor.on('paste, keydown', function() {
var $self = $(this),
$content = $self.html();
$clipboard.val('').focus();
document.execCommand('insertHTML', false, $content);
$self.html($content);
placeCaretAtEnd($self);
});
もうsetTimeout()
。私にはより良い音だったので、keydown も追加しました ;) 必要に応じて削除できます。これは:
$self.html($content);
現在関連があるかどうかはわかりません.placeCaretAtEnd()
少し変更したhttps://stackoverflow.com/a/4238971/460368から来ています。