我有一个简单的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. 选择/选项元素的默认“搜索”行为是什么?