【发布时间】:2009-08-17 12:09:15
【问题描述】:
我有一些 div,在一些位置。我想用鼠标选择它们,比如你什么时候在 Photoshop 中选择对象。所以我想选择一组div。用 jquery 可以吗?
【问题讨论】:
-
你的意思是像拖动选择吗?就像在几个对象周围拖动一个框,然后将所有包含的对象标记为选中?
-
是的,这正是我的意思.. jquery 有可能吗?
我有一些 div,在一些位置。我想用鼠标选择它们,比如你什么时候在 Photoshop 中选择对象。所以我想选择一组div。用 jquery 可以吗?
【问题讨论】:
有jQuery Drag to Select,应该可以解决你的问题。
【讨论】:
$('#parent-element').dragToSelect(selectables: 'div'),但我不能 100% 确定...等等。
div, li, tr(插件将此字符串直接插入到 jQuery 中,因此你几乎可以使用任何受支持的 CSS3-selector =D)
您可以通过更改 div 的类来模拟选定的效果,例如:
$('div.selectable').click(function() {
$(this).addClass('.selected');
});
如果您希望在再次单击后取消选择 div,您可以执行以下操作:
$('div.selectable').click(function() {
if($(this).is('.selected')) {
$(this).removeClass('.selected');
} else {
$(this).addClass('.selected');
}
});
或更简洁地使用三元运算符:
$('div.selectable').click(function() {
var $div = $(this);
$div.is('.selected') ? $div.removeClass('.selected') : $div.addClass('.selected');
});
【讨论】:
您可以使用imgAreaSelect 插件作为代码的基础。
【讨论】: