Можете ли вы передать метод объектов в качестве обратного вызова в JavaScript? - PullRequest
1 голос
/ 03 февраля 2011

Итак, у меня есть объект, который можно назвать A с подобъектом, который я назову B, у которого есть метод / функция с именем "CallMe", которую я хочу вызывать, когда и объект загружается, но я не могу получитьэто на работу.Это вообще возможно?

Пример:

var A = {
  B: {
    CallMe: function() {
      alert('I\'ve been Called!');
    }
  }
}

var objImage = new Image();
objImage.onLoad = A.B.CallMe;
objImage.src = '/img/some_image.png';

Ответы [ 2 ]

3 голосов
/ 03 февраля 2011

Вы должны связать его с .onload свойством, а не .onLoad - это должно исправить это, глупая опечатка - таковы худшие

0 голосов
/ 03 февраля 2011

Работает нормально ... вам просто нужно вызвать его (objImage.onLoad ();):

var A = {
  B: {
    CallMe: function() {
      alert('I\'ve been Called!');
    }
  }
}

var Image = function(){

}
Image.prototype.onLoad = null;

$(document).ready(function() {
    var objImage = new Image();
    objImage.onLoad = A.B.CallMe;

    objImage.onLoad();
});

Тестовый код здесь: http://www.jsfiddle.net/yAJfd/1/

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