HY, 有谁知道在javascript中导致此错误的是什么:
'Cannot call method 'apply' of null'
?以下是代码的一部分:
this.tiles[i][j] = tile;
var self = this;
var tileOnClick = tile.onClick;
tile.onClick = function (e){
self.handleTileClick(tile, e);
tileOnClick.apply(tile, [e]);
};
grid.prototype.handleTileClick=function(tile)
{
if(this.selectedTile)
{
this.selectedTile.select(false);
}
_onTileClick.apply(this,[tile]);
alert("click");
}
我需要的是一些关于在哪里寻找的想法。 警报被执行,我不明白为什么会是一个pb与申请... 谢谢。
答案 0 :(得分:1)
您在将赋予该属性值之前,将变量设置为tile.onClick
的值。在您指定tileOnClick = tile.onClick
时,它为空。
你需要在绑定事件后进行分配,或者更好的是,重新考虑你是如何做到的:
var tileOnClick = function (e){
self.handleTileClick(tile, e);
tileOnClick.apply(tile, [e]);
};
tile.onClick = tileOnClick;