如何在polymer中的内容元素上设置点击事件侦听器?
我使用的是polymer 0.8,我知道它有一个新的API,但是我在任何地方都找不到这个问题的参考。我正在努力做到这一点:如何在polymer中的内容元素上设置点击事件侦听器?,polymer,Polymer,我使用的是polymer 0.8,我知道它有一个新的API,但是我在任何地方都找不到这个问题的参考。我正在努力做到这一点: <center-focusable> <template is="x-autobind"> <span on-click="setFocus">test?</span> </template> </center-focusable> 测验 哪些错误与以下内容有关:
<center-focusable>
<template is="x-autobind">
<span on-click="setFocus">test?</span>
</template>
</center-focusable>
测验
哪些错误与以下内容有关:
[span].[click]:事件处理程序[setFocus]在作用域()中为空
我的元素定义如下:
<dom-module id="center-focusable">
<template>
<span on-click="setFocus">I work</span>
<content></content>
</template>
</dom-module>
<script>
Polymer({
is: "center-focusable",
setFocus: function () {
console.log("test");
}
});
</script>
我工作
聚合物({
是:“中心可聚焦”,
setFocus:函数(){
控制台日志(“测试”);
}
});
这是不可能的吗?我最后做的是定义另一个自定义元素,它将触发一个自定义事件供我捕获
<dom-module id="focusable-element">
<content></content>
</dom-module>
<script>
Polymer({
is: "focusable-element",
listeners: {
'click': 'setFocus'
},
setFocus: function () {
this.fire("center-focusable:center");
}
});
</script>
聚合物({
是:“可聚焦元素”,
听众:{
“单击”:“设置焦点”
},
setFocus:函数(){
此。火(“中心聚焦:中心”);
}
});
然后我会抓住它:
<script>
Polymer({
is: "center-focusable",
listeners: {
'center-focusable:center': 'setFocus'
},
setFocus: function (e) {
e.stopPropagation();
console.log("test");
}
});
</script>
聚合物({
是:“中心可聚焦”,
听众:{
“中心可聚焦:中心”:“设置焦点”
},
设置焦点:函数(e){
e、 停止传播();
控制台日志(“测试”);
}
});
一起:
<center-focusable>
<focusable-element>
This works.
</focusable-element>
</center-focusable>
这很有效。
但是,用这种方式处理似乎是不必要的。
是常规HTML元素,而不是聚合元素。
单击是一种聚合语法。
我认为您应该使用一个常规的html事件:onclick(无破折号)。
例如:
我工作
我不知道8.0,但是函数调用不需要把手吗?单击=“{setFocus}}”@jimidough10,API已更改:很高兴知道。谢谢你的链接,我一直在想在哪里可以找到这个。