Codeerklärung :/

Lamavic

Mitglied
Kann mir jmd diesen Code erklären ? :/

Hi,
ich hab mir zwar schon Javascript Tutorials durchgelesen und auch verschiedene Referenzseiten zu Hilfe genommen, um mir manche Funktionen und Variablen zu erklären, aber ich finde nicht jede vorprogrammierte Funktion mit Erklärung usw...
Ich habe mir zwar schon ein wenig zusammenklabautert ( ein wenig kenn ich's ja von PHP her, wie's gehen sollte ;) ), aber ich wollte halt ein Textfeld machen, in dem ich (wie hier im Forum) mittels Klick auf einen Smilie zum Beispiel den Text exakt hinter den Cursor (nicht hinter den schon bestehenden Text) setzte...
Ich glaube u.g. Funktion tut dies, aber ich will es selbst schreiben und können und - vor allem - verstehen was ich da schreibe :/

könnte eine nette Seele mir diesen Code mal ein wenig erläutern ?
Ich kann schlecht sagen, was genau ihr mir erklären sollt, einfach evtl nur ganz kurz, was vielleicht die einzelnen Schritte und Funktionen bringen...

Code:
<script language="JavaScript" type="text/javascript"> 
<!-- 
function cursor() { 
if (( navigator.userAgent.indexOf("Opera" ) != -1) || ( navigator.userAgent.indexOf("Netscape" ) != -1)) { 
text_before = document.formular.message.value; 
text_after = ""; 
} else { 
document.formular.message.focus(); 
var sel = document.selection.createRange(); 
sel.collapse(); 
var sel_before = sel.duplicate(); 
var sel_after = sel.duplicate(); 
sel.moveToElementText(document.formular.message); 
sel_before.setEndPoint("StartToStart",sel); 
sel_after.setEndPoint("EndToEnd",sel); 
text_before = sel_before.text; 
text_after = sel_after.text; 
} 
} 
function insert(AddCode) { 
cursor(); 

document.formular.message.value = text_before + AddCode + text_after; 
document.formular.message.focus(); 
} 
</script>


mit freundlichen Grüßen,
Laddy
 
Zuletzt bearbeitet:
Hi,

erst wird der Text in zwei Teile geteilt:

- vor dem Courser
- nach dem Courser

und dann wird das Messagefeld mit Text vor dem Courser, Smilie und Text nach dem Courser gesetzt.

Funktioniert natürlich mal wieder nur mit dem IE, da das keine offiziellen Methoden sind, die da verwendet werden...
 

Neue Beiträge

Zurück