Próbuję utworzyć contenteditable div, który akceptuje tylko zwykły tekst: HTML5. Używam html i jQuery poniżej:Element HTML5 contenteditable div akceptuje tylko zwykły tekst.
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);
});
});
Ale to nie działa na wszystkich przeglądarkach. getData
nie obsługuje przeglądarki Internet Explorer. Próbowałem wiele rozwiązań tutaj wspomnieć na stackoverflow, Ale żaden nie pracował dla mnie.
Próbowałem też
(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);
});
});
Ale w tym przypadku document.execCommand("insertText", false, text);
nie działa na IE.
Czy istnieje sposób, aby umożliwić akceptowanie danych po tagach HTML filtru, Tak aby każdy wprowadzał dane do edytowalnego elementu div według typu, wklejenia, upuszczenia lub w jakikolwiek inny sposób. Powinien wyświetlać go jako tekst.
przyjrzeć przy użyciu tego pojęcia: '$ ('
Hi, I \' m HTML
") .text();'. To powinno dać ci "Cześć, jestem HTML". –Chyba jest to o czym mówisz. W naszym przypadku musimy wkleić treść. Przekonwertuj go na zwykły tekst, a następnie wyświetl go w div. – Tarun
Mój komentarz obejmuje część "zamień na zwykły tekst". Nie mam żadnego doświadczenia w pracy z interfejsem API JavaScript w tym, co próbujesz zrobić, ale kiedy czytam to pytanie, mam problem ze zrozumieniem, z czym masz problem. Na przykład, czy "_now_ working for IE" ma być czytane jako "_nie_ pracujące dla IE?" –