Home > Software engineering >  Property 'width' does not exist on type 'GlobalEventHandlers'
Property 'width' does not exist on type 'GlobalEventHandlers'

Time:06-09

I would get the size of an image, following this tutorial, but I get a TypeScript error:

const img = new Image();
img.onload = function() {
  alert(this.width   'x'   this.height);
}
img.src = 'http://www.google.com/intl/en_ALL/images/logo.gif';

How to get image size (height & width) using JavaScript?

Property 'width' does not exist on type 'GlobalEventHandlers'.

What to do?

CodePudding user response:

The load handler's this isn't typed to the image. Reference the image directly instead.

const img = new Image();
img.onload = function() {
  console.log(img.width   'x'   img.height);
}

Or use addEventListener.

img.addEventListener('load', function() {
  console.log(this.width   'x'   this.height);
})
  • Related