yukihara1126
@yukihara1126 (原 裕貴)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

TypeError: a.onload is not a functionが発生する

TypeError: a.onload is not a functionが発生する

javascriptでImageを読み込んだら、canvasのdrawImageをしたいのですが
onloadでタイプエラーが発生します。。

どこがおかしいのでしょうか?

発生している問題・エラー

TypeError: a.onload is not a function

該当するソースコード

let ctx = new Image();
 ctx.onload(() => { 
 this.compositedImage.drawImage(ctx, 0, 0, ctx.width, ctx.height, 0, 0, is.compositedCanvas.width, this.compositedCanvas.height);
 resolver(this);
}, this);

このコードはPromiseの中に書かれているのでそれも影響しているのかと、、

よろしくお願いいたします。

0

3Answer

2行目の時点で null である ctx.onloadctx.onload(() => { 略 }, this) と関数呼び出ししているせいでエラーが出ています。 ctx.onload = () => { 略 } にしてください。

0Like

StackOverflow で同じ質問をしているのを見つけました。 https://stackoverflow.com/questions/69766359/typeerror-a-onload-is-not-a-function

複数サイトに同じ質問を投稿するのはマナーが悪いのでやめた方がいいです。
https://ja.wikipedia.org/wiki/マルチポスト#マナー違反とされることがある理由

同様の回答がついていますが解決しなかったようですね。エラーメッセージに ctx.onload ではなく a.onload が現れるのが不思議でしたが、もしかしてエラーが出ている場所が違うのでは。

ともかく、こちらではこれ以上回答しません。 StackOverflow で続けてください。

0Like

すみません、マナー違反になるのを知らずに質問していました。
今後気をつけるようにします。。。
ご指摘ありがとうございます。

0Like

Your answer might help someone💌