我有一個簡單的li元素網格,我已經選擇。然後我在選擇完成後迭代它們。但是,當您在網格中選擇多個框時,元素集似乎是一組重複項。這裏發生了什麼?爲什麼jQuery選擇收集重複元素
0
A
回答
0
看起來好像選定的函數被多次調用,實際上每個選定的元素都會調用一次。
我修改你的代碼,看看這個:
elements = $('.ui-selected');
console.log(elements);
從文檔在http://jqueryui.com/demos/selectable/它表明,「這一事件被觸發,在選擇操作結束時,每個元素添加到選擇。 「所以你看到的是預期的行爲。
我想你想要什麼是 '一站式' 事件:
$("#selectableGrid").selectable({
stop: function() {
elements = $('.ui-selected');
elements.each(function(idx, item) {
alert($(item).position().top);
});
}
});
1
而是結合了selected
事件,嘗試結合stop
事件是這樣的:
stop: function() {
elements = null;
elements = $('.ui-selected');
elements.each(function(idx, item) {
alert($(item).position().top);
});
}
選定的事件會爲您選擇的每個項目火一次,然後你的函數也每次運行,從而建立在選定項目的列表上。通過使用停止事件,該功能只對每個選定的項目運行一次。
1
您的selected
對每個選定的項目都會調用一次回調。在該回調中,您將查詢所有選定的項目,併爲每個項目提供警報。
最終結果是,當您選擇例如2個項目時,將爲第一個項目調用您的selected
回調,併爲該項目獲取單個警報。然後爲第二個項目調用回調函數,此時現在選擇了兩個項目,現在您可以再獲得2個警報(總共3個)。選擇第三個項目後,您將獲得6個警報,依此類推。
無論如何,這就是爲什麼它的一部分,關於你所看到的行爲。查看@ j08691的答案,找到一個解決方案,顯示您可能要做的行爲。
相關問題
- 1. jQuery選擇器得到重複元素
- 2. 爲什麼你必須從集合中重新選擇一個JQuery元素?
- 3. JPA /休眠選擇元素不收集
- 4. 爲什麼Jquery:odd選擇偶數元素?
- 5. 爲什麼NHibernate刪除然後插入複合元素選擇?
- 6. 從jQuery集合中選擇id元素
- 7. 爲什麼jQuery選擇textnodes而不是html元素?
- 8. 爲什麼jQuery不選擇所有的屬性元素?
- 9. 爲什麼JQuery':not'選擇器仍然隱藏所有元素?
- 10. 簡單選擇重複元素排序?
- 11. JQuery - 元素選擇
- 12. 爲什麼nth-child選擇器選擇這些元素?
- 13. 重複jQuery選擇
- 14. 選擇所有複選框 - 收集值
- 15. Jquery重複jquery選擇器
- 16. n元素組合選擇r元素不重複(Objective-c)
- 17. 選擇元素在數組中有更多重複元素C
- 18. 選擇什麼元素的集合是不是在表列
- 19. 使用jQuery選擇器進行復雜元素選擇
- 20. VBA寶典:爲什麼我收集得到,每次重複
- 21. 爲什麼Stream操作與收集器重複?
- 22. 什麼元素選擇顯示圖像?
- 23. 爲什麼AS3垃圾收集器沒有選擇這個?
- 24. jQuery的 - 從元素中選擇元素
- 25. $(this)作爲元素的jQuery選擇器
- 26. jQuery - >將元素選擇爲HTML
- 27. 選擇值選擇元素witht jQuery的
- 28. jQuery選擇 - 不選擇內部元素
- 29. JQuery .eq選擇器不選擇元素
- 30. 選擇/選項元素的默認「搜索」行爲是什麼?