[英]Using JavaScript in Polymer element
I have an object of polymer: 我有一个聚合物的对象:
<newfolder-element id="newfolderelement" popupStyle="width: 362px; height: 100px;">
<span class="title">Utwórz nowy folder</span>
<input type="text" class="ginput" style="width: 350px; padding: 5px;" placeholder="Nowy katalog" />
<br />
<button class="action blue"><span class="label">Utwórz</span></button>
<button class="action red" id="cancelBtn"><span class="label">Anuluj</span></button>
<script type="text/javascript">
...
</script>
</newfolder-element>
I want to access dom elements in javascript, I tried this: 我想访问javascript中的dom元素,我尝试了以下操作:
<script type="text/javascript">
Polymer('newfolderelement', {
domReady : function(){
$(this.shadowRoot.querySelector("#cancelBtn")).on('click', '#cancelBtn', function(){
console.log("clicked");
});
}
});
</script>
And this: 和这个:
<script type="text/javascript>
$(this.shadowRoot.querySelector("#cancelBtn")).on('click', '#cancelBtn', function(){
console.log("clicked");
});
</script>
And this: 和这个:
<script type="text/javascript>
$("#cancelBtn").click(function(){
console.log("clicked");
});
</script>
But all of above doesn't work. 但以上所有方法均无效。 How to access dom elements inside polymer object ?
如何访问聚合物对象内部的dom元素?
Why do you want to use jQuery, the Polymer already provides that functionality to you: 为什么要使用jQuery,Polymer已经为您提供了该功能:
to access DOM elements use the $
map of the element, ie to get reference to the #cancelBtn
use 要访问DOM元素,请使用元素的
$
映射 ,即获取对#cancelBtn
使用的引用
this.$.cancelBtn 这一点。$。cancelBtn
to add an eventhandler use declarative event mapping , ie to add an click handler to the button 使用声明性事件映射添加事件处理程序,即向按钮添加点击处理程序
<button class="action red" id="cancelBtn" on-click="{{cancelClicked}}"></button>
and just add method cancelClicked
to your component's script section. 只需将方法
cancelClicked
添加到组件的脚本部分。
<script>
Polymer('newfolder-element', {
cancelClicked: function() {
// do something
}
});
</script>
This is much simpler and your component won't require additional library. 这要简单得多,并且您的组件不需要其他库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.