所以我正在研究一个应该是响应式的 Polymer 元素。为此,我需要访问当前图像的宽度。
这是我的标记
<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
andoffsetWidth
是数字。但第二行打印 0。当我使用 . 时也是如此getComputedStyle()
。
我认为这可能是因为图像尚未加载,所以我添加了一个事件处理程序:
this.$.memeImage.addEventListener('onload', function() {
console.log("image loaded");
})
但这永远不会受到打击。
我做错了什么,我该如何解决?