Ich versuche, eine Variable an eine jQuery-Funktion inline übergeben (dh mit einer onMouseOver="function();"
innerhalb der tatsächlichen Link (das ist ein Bereich-Tag aus einer Imagemap)).jQuery - Aufruf einer Funktion inline
Die Funktion wird nur aufgerufen, wenn ich es vor der $(document).ready(function(){
Linie, aber dies verursacht alle Arten von Problemen mit jQuery.
Alles, was ich will, ist für einen einfachen Tag (wie <area shape="circle" coords="357,138,17" onMouseOver="change('5');" id="5" />
eine Funktion zu starten, die innerhalb des normalen jQuery Körper Code enthalten ist.
Vielen Dank für jede Hilfe, die Sie anbieten können.
Zur Veranschaulichung der Punkt, die folgenden Werke:
<script type="text/javascript">
function myfunction(x) { alert(x); //Alerts 2
}
</script>
<img src="/shared_images/loading.gif" border="0" usemap="#Map">
<map name="Map"><area shape="rect" coords="171,115,516,227"
onMouseOver="myfunction('2')"></map>
Aber die folgenden nicht
<script type="text/javascript" src="scripts/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
function myfunction(x) { alert(x); //Nothing happens
}
}
</script>
<img src="/shared_images/loading.gif" border="0" usemap="#Map">
<map name="Map"><area shape="rect" coords="171,115,516,227"
onMouseOver="myfunction('2')"></map>
, die eine große Antwort ist. Sie schreiben, dass meine Funktion eine lokale Variable ist. Können Sie erklären, wie Funktionen Variablen sein können? Vielen Dank. –
In JavaScript ist * everything * eine Variable (oder, in einer traditionelleren Sprache, alles ist * data *) einschließlich Funktionen.Wenn Sie 'function f() {};' schreiben, verwenden Sie im Wesentlichen nur einen Alias für 'var f = function() {};' Dies ermöglicht es, "anonyme" Funktionen in JavaScript zu verwenden. In anderen Sprachen könnten Sie entweder 'int x = 2; f (x); 'oder einfach' f (2) '. Da in JavaScript Funktionen genauso wie alles andere Daten sind, können Sie entweder 'var foo = function() {}; f (foo); 'oder nur' f (function() {}); "Dies zu verstehen ist der Schlüssel zum Verständnis von JavaScript. – VoteyDisciple