我使用Jquery Selectable ,但是用户必须按住can按钮才能选择项目,用户可以在不按住can按钮的情况下选择多个项目吗?
换句话说:我希望用户能够通过单击来选择任何项目,并通过再次单击来取消选择。
发布于 2011-02-15 16:26:40
您可以在用户单击元素时添加"selected“类,并在再次单击时简单地删除该类。
$(".selectable").click(function(e) {
$(this).toggleClass("selected");
});发布于 2011-10-26 01:33:59
可以使用一组自定义事件处理程序来控制选择和取消选择的行为方式。有了这组处理程序,任何东西都不会被取消选择,除非它被选中,然后再次单击它,而不进行范围选择。如果删除if (event.detail == 0) {及其相关语句,则range select的行为将类似于range invert --所选范围中的任何内容都将被取消选择,反之亦然。
var _selectRange = false, _deselectQueue = [];
$(function() {
$( "#selectable" ).selectable({
selecting: function (event, ui) {
if (event.detail == 0) {
_selectRange = true;
return true;
}
if ($(ui.selecting).hasClass('ui-selected')) {
_deselectQueue.push(ui.selecting);
}
},
unselecting: function (event, ui) {
$(ui.unselecting).addClass('ui-selected');
},
stop: function () {
if (!_selectRange) {
$.each(_deselectQueue, function (ix, de) {
$(de)
.removeClass('ui-selecting')
.removeClass('ui-selected');
});
}
_selectRange = false;
_deselectQueue = [];
}
});
});While it lasts, here's a jsfiddle example。
发布于 2011-02-15 12:16:20
也可以使用鼠标左键向下拖动以选择多个项目。但是只有相邻的项目才能被选中。
https://stackoverflow.com/questions/4999789
复制相似问题