聚合物 - 将事件绑定到动态创建的元素
Polymer - Bind events to dynamically created elements
我正在尝试创建一个聚合物组件,该组件将进行ajax调用并根据响应填充列表,并且我还想向每个列表元素添加一个单击/点击事件,以便在单击列表项时执行某些操作。
我像这样创建列表:
populateList: function(items) {
if (items.length == 0) {
return;
}
var menu = this.$$('.mp-Autocomplete-dropdown-menu');
var node = null;
for (var k = 0; k < items.length; k++) {
node = document.createElement('li');
node.setAttribute('class', 'style-scope mp-autocomplete');
node.setAttribute('tabindex', '0');
node.innerHTML = items[k];
menu.appendChild(node);
this.listen(this.$$('li'), 'click', '_itemTapHandler');
.addEventListener('')
}
},
但是"听"不起作用,我在聚合物文档中找不到任何其他可能对我有帮助的东西 - 没有走出组件并在完整文档上直接调用 js,这不会很好......谁能帮我?
谢谢科尔姆
this.$$('li')
总是返回元素中的第一个<li>
元素,这可能不是你想要的。
请改用:
this.listen(node, 'click', '_itemTapHandler');
如果您想稍后删除它
var node = ... /* get reference to node */
this.unlisten(node, 'click', '_itemTapHandler');
另请参阅 https://www.polymer-project.org/1.0/docs/devguide/events.html#imperative-listeners
相关文章:
- onkeyup无法动态创建多个文本区域
- 如何使用javascript从主svg对象动态创建svg视图框
- 在动态创建的元素上获取对特定选择器的引用
- JQuery对动态创建的对象进行选择
- 使用jquery动态创建ul-li
- 从动态创建的html选择中选择所选选项
- 如何在动态创建的节点上绑定函数
- 动态创建OnClick事件Javascript
- 谷歌地图动态创建的标记点击事件使用相同的标记
- 在动态创建的标记上添加事件
- 动态创建一个javascript/jquery多级数组
- 如何动态创建许多Jquery颜色选择器(eyecon)
- 如何为动态创建的文本区域中输入的值更新ng模型
- 对动态创建的元素运行jQuery.ech()
- 使用jQuery访问动态创建的项
- 动态创建的iframe中的window.onerror在lne 0处给出脚本错误
- 当用户点击动态创建的链接时,如何调用JS方法.JQuery,ASP.NET MVC
- 我想将链接关联到动态创建的p元素上的相应文章
- AngularJs从列表中动态创建指令
- 使用javascript动态创建html内容/元素