параметр обратного вызова JavaScript не определен - PullRequest
0 голосов
/ 26 января 2012

Я новичок в использовании функций обратного вызова и изо всех сил пытаюсь подключить некоторые через jquery, которые должны вызываться при изменении определенных элементов пользовательского интерфейса.Это очень упрощенный пример того, что я делаю.Если я вызываю e.SetBorderWidth, то он правильно передает 10 в функцию.Однако, если я пытаюсь использовать обратный вызов, SetBorderWidth становится неопределенным.Любая идея, почему и что мне нужно изменить?Спасибо.

код JavaScript ----

element = {
    border: {
        width:0
    },

    SetBorderWidth : function(newWidth){
        this.border.width = newWidth;
    }
};

elementChild = function(){
    padding: 0
};

elementChild.prototype = element;


var e = new elementChild();

var callback = e.SetBorderWidth;

function SetWidth(){
    e.SetBorderWidth(10);
    alert(e.border.width);

    callback.call(10);
    alert(e.border.width);
}

и HTML-код

<input type="button" onclick="SetWidth();" value="Click" />

1 Ответ

2 голосов
/ 26 января 2012

просто сделай callback(10); добавление .call передает 10 в качестве контекста (this переменная) вместо аргумента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...