Ich habe eine Funktion, die ein JQuery-Ereignishandler ist. Da es sich um einen JQuery-Ereignishandler handelt, verwendet es die this
-Variable, um auf das Objekt Bezug zu nehmen, auf dem es aufgerufen wird (wie es für diese Bibliothek normal ist).Wie definiere ich `this` in Javascript?
Leider muss ich diese Methode an dieser Stelle manuell aufrufen. Wie mache ich this
innerhalb der aufgerufenen Funktion so, als ob sie von JQuery aufgerufen würde?
Beispielcode:
function performAjaxRequest() {
//Function which builds AJAX request in terms of "this"
}
function buildForm(dialogOfForm) {
var inputItem;
dialogOfForm.html('...');
dialogOfForm.dialog('option', 'buttons', {
"Ok" : performAjaxRequest
});
inputItem = dialogOfForm.children(':not(label)');
//Redirect enter to submit the form
inputItem.keypress(function (e) {
if (e.which === 13) {
performAjaxRequest(); //Note that 'this' isn't the dialog box
//as performAjaxRequest expects here, it's
//the input element where the user pressed
//enter!
}
}
}
Angenommen, ich habe keine praktische Referenz auf das tatsächliche Ereignis oder Element, auf dem das Ereignis ausgelöst werden würde. –
@Billy ... Sie möchten also ein variables Ereignis für ein variables Objekt oder eine Gruppe von Objekten auslösen? Wenn ja, wie sieht der allgemeine Code aus? Was weißt du im Moment, wenn du alles auslösen willst, was du auslösen musst? –
Nur die Frage aktualisiert - lassen Sie mich wissen, wenn das es klarer macht. –