Pass $diese Funktion
Wie kann ich pass das $dieser (Selbstbedienungs-keyword), um eine Funktion in Jquery
$(document).ready(function() {
$('.nav a').click(function() {
var direction = $(this).attr("name");
submit_form($(this))
});
function submit_form(this)
{
//do some stuff with 'this'
}
});
Tun Sie es bereits richtig. Nur benennen Sie die variable in
Bitte verwenden javascript, so wie es war verwendet werden soll (es müssen keine Kontext zu übergeben als parameter):
function submit_form(this){}
auf etwas anderes wie function submit_form(element){}
.Bitte verwenden javascript, so wie es war verwendet werden soll (es müssen keine Kontext zu übergeben als parameter):
submit_form.call(this)
, submit_form.apply(this)
oder auch jQuery verwenden, wenn das ist die einzige Sache, die Sie verstehen: jQuery.proxy(submit_form, this)
InformationsquelleAutor TMP file guy | 2010-07-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wickelte Sie in
$()
macht es ein jQuery-Objekt. Würden Sie wollen, etwas zu tun, wieInformationsquelleAutor Josh K
Den
this
Schlüsselwort kann nicht festgelegt werden, in JavaScript. Es wird automatisch von JavaScript und "bezieht sich immer auf den "Besitzer" der Funktion, die wir ausführen, oder vielmehr, um das Objekt, das eine Funktion ist eine Methode".— http://www.quirksmode.org/js/this.html
Haben Sie ein problem in Ihrem code (versuchen zu benennen die parameter der submit_form () - Funktion). Jedoch, die Art, wie Sie Ihren code verlegt, macht es nicht klar, ob Sie beabsichtigen, entlang der angeklickten Anker gewickelt wie ein jQuery-Objekt oder als DOM-Knoten für den Anker.
Auf eine meist nicht verwandten note, werden Sie wahrscheinlich wollen, um entweder
return false;
oder verwenden Sie Ereignis.preventDefault() verhindern, dass die Seite von denhref
auf den Anker, auf die geklickt wurde. Sie können dies wie folgt:InformationsquelleAutor ebynum
Versuchen Sie dies:
InformationsquelleAutor Fosco
Hier ist was für mich gearbeitet.
InformationsquelleAutor TMP file guy
Ja, diese unkompliziert. Sehen
Function.call()
undFunction.apply()
.InformationsquelleAutor Peter
Übergeben Sie es wie eine normale variable?
InformationsquelleAutor Aren