你能否在JavaScript中将对象方法作为回调传递?

时间:2011-02-03 14:49:12

标签: javascript image object methods callback

所以我有一个对象让我们用一个子对象调用它,我将它称为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 个答案:

答案 0 :(得分:3)

你应该将它绑定到.onload属性而不是.onLoad - 这应该解决它,愚蠢的错字 - 这是最糟糕的

答案 1 :(得分:0)

它工作得很好......你只需要调用它(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/