Bei "onmouseover" JS-Funktion aufrufen

Fools

Mitglied
Hallo!

Hab da grad ein kleines Problem mit JavaScript.


Folgender Code funktioniert ohne Probleme:
HTML:
<input type="text" onmouseover="this.style.borderLeft='2px solid red';"></input>


Mit Hilfe einer JS-Funktion bekomme ich das aber leider im Moment nicht hin:
HTML:
<input type="text" onmouseover="designInput()"></input>

Dazugehöriger JavaScript-Code
Code:
function designInput()
{
	this.style.borderLeft='2px solid red';
}


Ich bin mit JS noch nicht so geübt, sodass ich nur vermuten kann, dass in meiner JS-Funktion die Zeile "this.style.borderLeft='2px solid red';" nicht ganz regelkonform ist.

Deshalb meine Frage: Wie muss ich die JS-Funktion so umcodieren, sodass sie genau das gleiche macht, wie mein funktionierender Code?

Für Eure Hilfe wäre ich Euch dankbar.
 
Ich bin mir nicht ganz sicher, aber meiner Meinung nach ist das this das Problem.

Gib dem input eine id und sprich es über die ID an.
 
Moin,

die Funktion designInput() ist, wenn du sie einfach nur so in einem <script> definiert hast, ein Member des globalen Geltungsbereiches(in JS, sofern im Browser ausgeführt, ist dies window).

Verwendest du in dieser Funktion this, ist dies somit ein Zeiger auf dies window-Objekt.

Lösung: übergebe das auslösende Element als Parameter:

Code:
<script>
function designInput(obj)
{
    obj.style.borderLeft='2px solid red';
}
</script>
<input type="text" onmouseover="designInput(this)"/>
 
Zuletzt bearbeitet:
@ Sven Mintel:

Ja, perfekt! Jetzt funktioniert es einwandfrei.

Vielen vielen Dank für die schnelle Hilfe.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück