Heim >Web-Frontend >js-Tutorial >Wie platziere ich das Caret-Zeichen am Ende des Textes in einem „inhaltsbearbeitbaren' Pre-Element konsistent in allen Browsern?
contenteditableMit Elementen können Benutzer Text direkt innerhalb des Elements bearbeiten. Es kann jedoch zu browserübergreifenden Inkonsistenzen bei der Behandlung von Zeilenumbrüchen kommen.
contenteditableElemente variieren je nach Browser: Chrome platziert ein
<div>Innerhalb des Zeilenumbruchs fügt Firefox ein
<br />ein und Internet Explorer fügt ein
<p>hinzu.
function placeCaretAtEnd(el) { el.focus(); if (typeof window.getSelection != "undefined" && typeof document.createRange != "undefined") { var range = document.createRange(); range.selectNodeContents(el); range.collapse(false); var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(range); } else if (typeof document.body.createTextRange != "undefined") { var textRange = document.body.createTextRange(); textRange.moveToElementText(el); textRange.collapse(false); textRange.select(); } }
$(document).ready(function() { $('#insert_caret').click(function() { placeCaretAtEnd($('#content')); } });
Das obige ist der detaillierte Inhalt vonWie platziere ich das Caret-Zeichen am Ende des Textes in einem „inhaltsbearbeitbaren' Pre-Element konsistent in allen Browsern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!