Как переопределить this в Javascript?

У меня есть функция, которая является обработчиком событий JQuery. Поскольку это обработчик событий JQuery, он использует переменную this для ссылки на объект, для которого он вызывается (как обычно для этой библиотеки).

К сожалению, мне нужно вручную вызывать этот метод с этой точки зрения. Как сделать так, чтобы эта внутри вызываемой функции вела себя так, как если бы она была вызвана из JQuery?

Пример кода:

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!
        }
    }
}
5
задан Billy ONeal 13 October 2010 в 01:23
поделиться