我知道我们可以使用this。$ selector从本地dom中选择元素。但是,如果我有一个单击按钮时触发的函数,我将如何在此函数中按ID访问元素?
例如:
HTML:
<input id = "counter" value = "10">
JavaScript的:
var testButton = this.$.testButton;
$(testButton).click(function(){
var counter = this.$.counter;
console.log(counter.value);
}
问题是“this。$。counter”现在引用按钮
答案 0 :(得分:1)
问题在于,当您使用Polymer时,它不会改变事件处理程序和this
的工作方式。事件处理程序中的this
对应testButton
,因为它是触发click
事件的元素,而不是Polymer元素。
试试这个:
var testButton = this.$.testButton;
var counter = this.$.counter;
$(testButton).click(function(){
console.log(counter.value);
}
答案 1 :(得分:0)
使用Polymer的onTap函数而不是onClick也可以解决这个问题。
答案 2 :(得分:0)
如果你在聚合物中使用jQuery,你很可能会做错事。
<button on-tap='foo'>
...
Polymer({
...
foo: function(event){
console.log(this.$.counter);
}
});