Yalnızca düz metin kabul eden HTML5 içerik okunabilir div oluşturmaya çalışıyorum.HTML5 contenteditable div yalnızca düz metinleri kabul eder
HTML
<div contenteditable="true"></div>
jQuery
(function() {
$('[contenteditable]').on('paste', function (e) {
e.preventDefault();
var text = null;
text = (e.originalEvent || e).clipboardData.getData('text/plain') || prompt('Paste Your Text Here');
document.execCommand("insertText", false, text);
});
});
Ama tüm tarayıcılar için çalışmıyor: Aşağıda html ve jQuery kullanıyorum. getData
Internet Explorer tarayıcısında desteklenmiyor. Stackoverflow'ta çok fazla çözüm denedim, ama hiçbiri benim için işe yaramadı.
(function() {
$('[contenteditable]').on('paste', function (e) {
e.preventDefault();
var text = null;
if (window.clipboardData && clipboardData.setData) {
text = window.clipboardData.getData('text');
} else {
text = (e.originalEvent || e).clipboardData.getData('text/plain') || prompt('Paste Your Text Here');
}
document.execCommand("insertText", false, text);
});
});
çalıştı Ama bu durumda
document.execCommand("insertText", false, text);
yılında IE için çalışmıyor.
HTML etiketlerine filtre uygulandıktan sonra verileri kabul etmenin herhangi bir yolu var mı? Böylece, herkes düzenlenebilir div içindeki verileri türüne, yapıştırmasına, bırakmasına veya başka bir şekilde girmesine izin verir. Metin olarak göstermelidir.
Görünüş: '$ ('
Merhaba, ben \' m HTML
') .text();'. Bu size "Merhaba, ben HTML" vermeli. –Sanırım bahsettiğin farklı şey bu. Bizim durumumuzda, yapıştırılmış içeriği almak zorundayız. Düz metne dönüştürün ve div dilinde görüntüleyin. – Tarun
Benim yorumum "düz metne dönüştür" bölümünü kapsar. Yapmaya çalıştığınız şey için JavaScript API ile çalışma deneyimim yok, ancak soruyu okuduğumda, sorun yaşadığınız şeyi anlamakta zorlanıyorum. Örneğin, "_now_ IE için çalışıyor", "_not_ IE için çalışıyor mu?" –