Javascript 无效的图像src错误

Javascript 无效的图像src错误,javascript,html,kineticjs,Javascript,Html,Kineticjs,错误消息是: 未捕获的InvalidStateError:试图使用 不可用或不再可用 有什么想法吗?有人遇到过此问题吗?onload函数完成后,节点图标不在范围内 因此,在稍后的代码中,当您尝试使用nodeIcon时,它不再被定义并抛出错误 您需要在onload函数之外声明var nodeIcon drawImage: function () { var a = arguments, b = this._context; 3 === a.length ? b.dr

错误消息是:

未捕获的InvalidStateError:试图使用 不可用或不再可用


有什么想法吗?有人遇到过此问题吗?

onload函数完成后,节点图标不在范围内

因此,在稍后的代码中,当您尝试使用nodeIcon时,它不再被定义并抛出错误

您需要在onload函数之外声明var nodeIcon

drawImage: function () {
    var a = arguments,
        b = this._context;
    3 === a.length ? b.drawImage(a[0], a[1], a[2]) : 5 === a.length ? b.drawImage(a[0], a[1], a[2], a[3], a[4]) : 9 === a.length && b.drawImage(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8])
}
var nodeIcon;

var nodeIconImg = new Image();
nodeIconImg.onload = function () {

    nodeIcon = new Kinetic.Image({
        image: nodeIconImg,
        width: 30,
        height: 30
    });

}
var url = "ship.png";
nodeIconImg.src = url;
或者将节点图标添加到onload函数内的层中

drawImage: function () {
    var a = arguments,
        b = this._context;
    3 === a.length ? b.drawImage(a[0], a[1], a[2]) : 5 === a.length ? b.drawImage(a[0], a[1], a[2], a[3], a[4]) : 9 === a.length && b.drawImage(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8])
}
var nodeIcon;

var nodeIconImg = new Image();
nodeIconImg.onload = function () {

    nodeIcon = new Kinetic.Image({
        image: nodeIconImg,
        width: 30,
        height: 30
    });

}
var url = "ship.png";
nodeIconImg.src = url;