Übergabe-Event-Daten, um callback-Funktion mit jQuery
Ich habe Schwierigkeiten zu verstehen, wie Ereignisse verwenden.Daten, um den Rückgabewert von welchem element das Ereignis ausgelöst eine. Hier mein Beispiel:
<a href="#" class="dw_add">
<img src="http://something" />
</a>
var callback = function(event){ console.log(event.data.src) }
$('.dw_add')
.on('click', { src: $(this).find('img').attr('src') },callback);
$dies ist derzeit verweisen auf das Dokument und nicht die, auf die geklickt wurde. Hoffentlich können Sie sehen, was ich versuche zu tun, aber meine javascript-Kenntnisse begrenzt ist, denke ich, die sich nähern in einer PHP-Einstellung.
Irgendwelche Ideen, wie übergeben Sie den Wert von 'img src', um die callback?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie nicht in einem Funktionsumfang, also diese:
wird nicht funktionieren, da $(this) ist nicht das element, das Sie denken, es ist, weil es keine lokalen Bereich für das angeklickte element, kein Ereignis.Ziel oder Ereignis.Daten etc!!!
Aber das wird funktionieren, denn es hat einen direkten Verweis auf das element und den Bereich für "dieses" ist kein Problem:
- und das wird auch funktionieren, da $(this) innerhalb einer Funktion Gültigkeitsbereich:
Auch mit $(this) innerhalb der callback-Funktion funktioniert, wie es ist, mal wieder, in einem Funktionsumfang und eine Referenz auf die gezielte element.
Warum nicht etwas wie das hier tun:
In jQuery event Handler
this
ist auf das DOM-element gefeuert, die Veranstaltung. Da Sie befestigen einen event-handler, um die<a>
elementthis
ist der link.Wenn Sie wollen, um die
src
desimg
, Sie werden haben zu finden, dieimg
element bei der Auslösunga
mithilfefind()
oderchildren()
: