07. august 2007 - 02:09Der er
2 kommentarer og 1 løsning
select() i firefox
Benytter man IE kan man bruge TextRange objektets select() metode til at markere teksten i f.eks en textbox. Men da firefox ikke understøtter TextRange objektet hvordan opnås samme funktionalitet? Eneste jeg ved man kan kalde i FF er selectionStart() og getSelection(). Nogen der evt. kender en sidde hvor alle document.metoder() er listet ?
her er en funktion jeg bruger på mit forum, der erstatter evt. markeret tekst med noget andet tekst.. Der er både for IE og FF hvis du kikker det igennem.
Jeg kalder det bla. når der skal indsættes en vandret streg <HR> - I mit tilfælde hedder mit textarea så "message". Håber det kan bruges.
// Replaces the currently selected text with the passed text. function replaceText(text, textarea) { // Attempt to create a text range (IE). if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange) { var caretPos = textarea.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text; caretPos.select(); } // Mozilla text range replace. else if (typeof(textarea.selectionStart) != "undefined") { var begin = textarea.value.substr(0, textarea.selectionStart); var end = textarea.value.substr(textarea.selectionEnd); var scrollPos = textarea.scrollTop;
textarea.value = begin + text + end;
if (textarea.setSelectionRange) { textarea.focus(); textarea.setSelectionRange(begin.length + text.length, begin.length + text.length); } textarea.scrollTop = scrollPos; } // Just put it on the end. else { textarea.value += text; textarea.focus(textarea.value.length - 1); } }
Skulle gøres med setSelectionRange(start, slut). Takker for din kode, der dukker sikkert flere ting op som din kode kan svare på. Smid et svar for point.
Da du ikke har smidt et svar lukker jeg altså nu :D Eller tak for hjælpen
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.