[英]How to clean input on paste? A tiny WYSIWYG editor
嘿Stackoverflow社區,
我已經編寫了一個示例代碼,該代碼應清除粘貼時的HTML代碼,但無法正常工作。 在每個粘貼上都復制了<textarea>
並且粘貼不起作用。
這是JsFiddle: http : //jsfiddle.net/Kxmaf/214/
任何幫助深表感謝 :)
新版本: http : //jsfiddle.net/Kxmaf/218/
您是正確的setTimeout()
,不知道粘貼事件的延遲。 現在,我在FF上看到document.execCommand()
有點麻煩,所以我簡化了很多(不再關注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 ,我對此做了一些修改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.