Итак, я работаю над элементом Polymer, который должен реагировать. Для этого мне нужен доступ к ширине текущего изображения.Может видеть ширину элемента, но все равно получить 0
Вот моя разметка
<div class="meme">
<div id="memeImage"><img id="memeimg" src="{{img}}"></div>
</div>
И (важно) моделирование.
.meme {
position: relative;
-webkit-box-align:center;
-webkit-box-pack:center;
display:-webkit-box;
}
#memeImage {
z-index: -1;
border: 0px;
margin: 0px;
text-align: center;
position: relative;
}
Теперь я хочу получить ширину изображения. Для этого, в моем ready
случае, я добавляю эти две строки:
console.log(this.$.memeImage);
console.log(this.$.memeImage.clientWidth);
Первые печатает элемент просто отлично, и я могу видеть clientWidth
и offsetWidth
являются числами. Но вторая строка печатает 0. То же самое верно, когда я использую getComputedStyle()
.
Я думал, что это может быть потому, что образ еще не загружен, поэтому я добавил обработчик события:
this.$.memeImage.addEventListener('onload', function() {
console.log("image loaded");
})
Но это никогда не получает удар.
Что я делаю неправильно и как его исправить?
не может получить размеры изображения, которое еще не загружено. Скорее всего, ваша проблема – charlietfl
Я должен был упомянуть, что добавление обработчика событий onload не работает. –