Hittade denna koden här på Webforum.nu men skulle vilja ha så den funkar i alla webbläsare inte bara IE. Finns det någon vänlig själ som kan hjälpa mig med detta??
Det är svårt att få kod att fungera i "alla" webbläsare. Den jag bidrar med nedan bör i alla fall fungera i IE 5-6 samt NS6 och nyare.
function addToSelection(before,after){
var ta = document.forms[0].elements["Text1"];
if (document.selection && document.selection.createRange){
var rng = document.selection.createRange();
if (rng.parentElement() == ta)
rng.text = before + rng.text + after;
}
else if (typeof window.HTMLTextAreaElement != "undefined"){
var sel = ta.value.substring(ta.selectionStart, ta.selectionEnd);
if (sel != "")
ta.value = ta.value.substring(0, ta.selectionStart)
+ before + sel
+ after + ta.value.substring(ta.selectionEnd);
}
}
Safari har jag ej tillgång till, så jag kan inte testa mig fram. Du skulle kunna undersöka huruvida window.getSelection() ger någonting. Alternativt kan du testa att ta bort if-satsen if (window.HTMLTextAreaElement..., eller ersätta den med if (ta.selectionStart && ta.selectionEnd).
För att kunna lägga till taggar utan att någon text är markerad, kan du låta Gecko-if-satsen se ut så här:
else if (typeof window.HTMLTextAreaElement != "undefined"){
ta.value = ta.value.substring(0, ta.selectionStart)
+ before + ta.value.substring(ta.selectionStart, ta.selectionEnd)
+ after + ta.value.substring(ta.selectionEnd);
}
En IE-lösning har jag ingen metod för för tillfället.
:)
255 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e