Polymer 核心选择器的“核心选择”事件如何工作?
我注意到核心选择器的核心选择事件的触发方式有些奇怪 假设我们有: HTML: 我发现,当我依次选择项目1和项目2时,我看到对于最后一个选择,事件被多次触发。它会被触发3次: 取消选择项目1 项目1的选择 项目2的选择 这应该会发生吗 我希望每次选择/取消选择都会触发一次事件,event.detail.item是单击的项目 另外,有没有办法获得core-selector.html的远程版本,我可以在JSBin上使用它来向您展示演示?core和paper元素位于//www.polymer-project.org/components/上,因此您可以这样制作JSBin: 您看到的效果是由核心选择器实现多重选择的方式造成的。我认为这是不恰当的,我们只是错过了它,因为我们倾向于对事件使用绑定Polymer 核心选择器的“核心选择”事件如何工作?,polymer,Polymer,我注意到核心选择器的核心选择事件的触发方式有些奇怪 假设我们有: HTML: 我发现,当我依次选择项目1和项目2时,我看到对于最后一个选择,事件被多次触发。它会被触发3次: 取消选择项目1 项目1的选择 项目2的选择 这应该会发生吗 我希望每次选择/取消选择都会触发一次事件,event.detail.item是单击的项目 另外,有没有办法获得core-selector.html的远程版本,我可以在JSBin上使用它来向您展示演示?core和paper元素位于//www.polymer-proje
我发布了一张问题通知单:似乎是一种已知的行为: 这是意料之中的。核心选择器的核心选择事件在 项目的选择状态已更改。当 项目被选中或取消选中。所以,这就是为什么你会在一个星期内看到两个事件 一次轻触,一次用于选中,一次用于取消选中 您可以使用event.detail中的isSelected来检查选择 国家frankiefu于2014年9月23日发表评论 然而,Polymer团队的Rob Dodson还有其他补充: 如果可能的话,我想重新讨论这个问题,因为我一直收到关于它的bug报告:Polymer/docs696 另外,从本教程中运行的一个DAs: 事件的双重触发似乎真的很奇怪-是的,有多个 根据注释选择核心选择器,但我 选择一个标签-这绝对感觉像一个错误,而不是理智。和 我个人同意,当我选择一个标签获得2个标签时,感觉很奇怪 我必须通过这些事件来找出谁被点击了 因此,谁知道使用核心激活而不是核心选择来处理单一选择事件。使用为事件历史记录选择的核心
<core-selector multi>
<div>item 1</div>
<div>item 2</div>
<div>item 3</div>
</core-selector>
document.querySelector('core-selector').addEventListener('core-select', function (event) {
console.log(event.detail.item.textContent);
console.log(event.detail.isSelected);
});
var tabs = document.querySelector('#tabs');
tabs.addEventListener('core-select', function(e) {
if (e.detail.isSelected) {
console.log("Selected: " + tabs.selected);
}
});