2014-06-29 48 views
1

我注意到core-selectorcore-select事件被激發時有些奇怪。核心選擇器的「核心選擇」事件是如何工作的?

比方說,我們有:

HTML:

<core-selector multi> 
    <div>item 1</div> 
    <div>item 2</div> 
    <div>item 3</div> 
</core-selector> 

的JavaScript:

document.querySelector('core-selector').addEventListener('core-select', function (event) { 
    console.log(event.detail.item.textContent); 
    console.log(event.detail.isSelected); 
}); 

我發現,當我選擇item 1其次item 2我看到,在過去的選擇,事件被多次觸發。它得到射擊3次:

  1. 去除選擇項目項目項目1
  2. 選擇的1
  3. 選擇2

難道這是這樣嗎?

我期望事件被觸發一次,每次選擇/取消選擇event.detail.item是被點擊的項目。

另外,有沒有一種方法可以獲得遠程版本的core-selector.html,我可以在JSBin上使用它來向您演示演示?

回答

0

似乎是一個已知的行爲:https://github.com/Polymer/paper-tabs/issues/26

「這是預期的核心選擇器的核心,選擇事件被觸發時 項目的選擇當選擇或取消選擇一個 項目時,會觸發此事件。因此,這就是爲什麼您會看到一個 單擊的2個事件,一個用於選擇,另一個用於取消選擇。您可以使用event.detail中的isSelected來檢查選擇 狀態。「- frankiefu評論2014年9月23日

var tabs = document.querySelector('#tabs'); 
tabs.addEventListener('core-select', function(e) { 
    if (e.detail.isSelected) { 
    console.log("Selected: " + tabs.selected); 
    } 
}); 

然而,羅布多德森聚合物隊有別的東西來補充:

我想再次討論這個問題如果可能的話,因爲我不斷收到有關它的錯誤報告:聚合物/文檔#696

另外,從一個運行thro唉教程:

事件的二次燒成似乎很奇怪 - 是的,有多個從核心選擇 選擇(根據說明),但我 選擇一個標籤 - 這肯定感覺就像一個錯誤,不是理智。而且我個人也同意,當我選擇一個選項卡以獲得必須深入瞭解誰被點擊的事件時,我感覺很奇怪。

因此,誰知道

0

使用核心激活的代替核心選擇處理單個選擇的事件。使用事件歷史記錄選定的核心。

相關問題