如何收听Polymer 1.0中元素的事件?

如何收听Polymer 1.0中元素的事件?,polymer,polymer-1.0,Polymer,Polymer 1.0,我想使用Polymer的UI元素(例如,铁图标、纸按钮等),而不制作自定义元素或模板 例如,假设我有: <paper-button id="my-button">Click me</paper-button> 点击我 如何收听“点击”事件?简单地将事件侦听器添加到ID为“my button”的“click”中是不起作用的。它应该起作用吗?我假设您希望在主文档(index.html)中使用聚合UI元素,而不必创建任何自定义组件。说你有 <paper-button

我想使用Polymer的UI元素(例如,铁图标、纸按钮等),而不制作自定义元素或模板

例如,假设我有:

<paper-button id="my-button">Click me</paper-button>
点击我

如何收听“点击”事件?简单地将事件侦听器添加到ID为“my button”的“click”中是不起作用的。

它应该起作用吗?我假设您希望在主文档(index.html)中使用聚合UI元素,而不必创建任何自定义组件。说你有

<paper-button id="btn">Click me</paper-button>
通过jQuery

$("#btn").on("click", function (e, u) {...});
p/s:我想写一个快速的jsbin作为演示,但rawgit似乎有问题,而且我不知道有其他承载聚合物元素的CDN

让我明确一点:聚合元素和扩展后的web组件被设计为不依赖于框架,如果编码正确,它们将独立工作,就像任何其他HTML元素一样。请不要为了dom绑定而绑定dom。只有当您a)在您的用例中需要聚合物的糖化(如数据绑定)时,才可以这样做;和b)你想从你的
index.html
中使用聚合物的糖分-如果你不想,请不要给你的应用增加额外的复杂性

我发现cdn服务于聚合物元素,因此:

您可以尝试:


点击我
var template=document.querySelector('#t');
template.buttonClicked=函数(){
警惕(“他点击我:)”;
};

到目前为止,您编写了哪些代码?你检查过了吗?我试过
$('my-button')。addEventListener('click',myFunc)
,但不起作用;聚合物似乎不知怎么吞没了点击事件?文档中说如果你在声明一个新模块,怎么做,但我不是在制作一个新模块。。。我想重复使用
,理想情况下不要将其包装在新模块中。您可能还想将index.html中的代码包装在
标记中。有关详细信息,请参阅。不,这是可选的。仅当您想使用聚合糖(如数据绑定、观察者、监听器、on-*事件等)时,才使用
dom bind
包装。Web组件通常被设计为独立工作,就像任何其他HTML元素一样。
$("#btn").on("click", function (e, u) {...});
$( "body" ).delegate( "#my-button", "click", function() {
   alert();
});