onmouseover und inline-Funktion mit der "this" - Objekt
Habe ich das folgende Stück code:
<div id="some_div" style="border: solid 1px red; width:50px; height: 50px;"
onmouseover="(function(){$(this).css('background','green');})();"></div>
Die Funktion läuft Prima, aber es scheint nicht in der Lage sein zu finden, die 'diese'.
Wie kann ich es so machen, dass es weiß, zu self-reference?
(Ja, jquery ist auf die in meinem code)
Warum verwenden Sie eine inline-Funktion? Macht es mehr Sinn zu trennen, aus (halten Sie code getrennt vom design).
InformationsquelleAutor Matt | 2011-07-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, ob Sie möchten, verwenden Sie eine anonyme Funktion gibt. Ich denke,
arbeiten.
InformationsquelleAutor Paulpro
Wenn Sie wirklich brauchen, um wickeln Sie es in eine anonyme Funktion, die Sie dies tun können.
InformationsquelleAutor Dogbert
Dies ist versaut, weil Sie die Ausführung der Funktion. Ich erkläre das ein wenig.
Wenn dies nicht inline, würde es so Aussehen:
Beachten Sie die () am Ende? Dies bedeutet, Sie führen Sie den code, bevor die Funktion zugewiesen bekommt onmouseover.
Versuchen Sie dies:
<div id="some_div" style="border: solid 1px red; width:50px; height: 50px;"
onmouseover="$(this).css('background','green');"></div>
InformationsquelleAutor beatgammit
Scheint, Sie sind mit jQuery, warum es nicht alle den Weg
InformationsquelleAutor casraf
@matt das gleiche können Sie mit css, nur durch die Verwendung der
:hover
auf die Klasse an.und
mouseout
. (Atleast aus seinem code-snippet).dies ist einfach, verwenden Sie nicht die hintergrund-Farbe auf die .SomveDiv, nur auf hover.
wenn ich schweben und sich mit Ihrem code, den grünen Weg gehen wird. Aber op ' s original-code wird grün bleiben.
entfernen Sie eine Zeile wie ich kommentieren code, und das grün wird bleiben
InformationsquelleAutor Aristos