我目前正在使用Polymer構建自定義元素。現在我想獲得一個位於我的自定義元素中的div來執行某個函數onclick,並且在該函數中我需要獲取它相對於視圖端口的位置。聚合物 - 獲得位於陰影dom的divs位置
所以通常我會用
var offsets = element.getBoundingClientRect();
現在,在自定義元素 - 假設我說的有ID innerCard股利所以這將是
this.$.innerCard.onclick = function(){
alert("Test 1");
var offsets = this.$.innerCard.shadowRoot.getBoundingClientRect();
alert("Test 2");
....
}
第一警報觸發正確,但第二個沒有。 JavaScript控制檯給了我一個錯誤類型:
Uncaught TypeError: Cannot read property 'innerCard' of undefined tile-story.html:37$.innerCard.onclick tile-story.html:37
有誰知道我怎麼能以其他方式或我在做什麼錯在這裏訪問的div的位置?
能innerCard提供公共函數返回其偏移? – imcg 2014-09-05 11:06:41
我不完全確定你的意思。我只是宣佈了這樣一個div:
如何綁定您的處理程序的'this'第一? – cameron 2014-09-05 11:29:01