Есть ли способ получить этот объект выбора сетки jquery по умолчанию для множественного выбора? - PullRequest
4 голосов
/ 26 июня 2011

http://jqueryui.com/demos/selectable/#display-grid

Я использую Jquery Selectable (ссылка выше), но пользователь должен удерживать нажатой кнопку управления, чтобы выбрать несколько элементов ... В любом случае пользователь может выбирать несколько элементов, не удерживая нажатой кнопку управления?

Другими словами: я хочу, чтобы пользователь мог выбрать любой элемент, щелкнув по нему, и отменить выбор, нажав еще раз.

Есть мысли?

Ответы [ 2 ]

1 голос
/ 09 октября 2012

Вы можете установить metaKey в mousedown, чтобы имитировать нажатие Ctrl :

$('#selectable').bind("mousedown", function(e) {
    e.metaKey = true;
}).selectable()​;​

См. Это DEMO .

0 голосов
/ 09 июня 2012

Из примера по ссылке вы можете изменить скрипт для изменения элементов в качестве переключателей

<style>
#feedback { font-size: 1.4em; }
#selectable .ui-selecting { background: #FECA40; }
#selectable .ui-selected { background: #F39814; color: white; }
#selectable { list-style-type: none; margin: 0; padding: 0; }
#selectable li { margin: 3px; padding: 1px; float: left; width: 100px; height: 80px; font-size: 4em; text-align: center; }
</style>
<script>
$(function() {
    $('#selectable li').bind('mouseup', function(e) {
        $(e.target).removeClass('ui-selecting');
        var selected = $(e.target).attr('data-selected');
        if (selected) {
            $(e.target).attr('data-selected', null);
        } else {
            $(e.target).addClass('ui-selected');
            $(e.target).attr('data-selected', true);
        }
    });
    $('#selectable li').bind('mousedown', function(e) {
        $(e.target).removeClass('ui-selected');
        $(e.target).addClass('ui-selecting');
    });
});
</script>
...