http://jqueryui.com/demos/selectable/#display-grid
私はJquery Selectable(上記のリンク)を使用していますが、ユーザーはコントロールボタンを押したままにして複数のアイテムを選択する必要があります...ユーザーがコントロールボタンを押したままにせずに複数のアイテムを選択できる方法はありますか?
言い換えれば、ユーザーがアイテムをクリックして選択し、もう一度クリックして選択を解除できるようにしたいのです。
何かご意見は?
http://jqueryui.com/demos/selectable/#display-grid
私はJquery Selectable(上記のリンク)を使用していますが、ユーザーはコントロールボタンを押したままにして複数のアイテムを選択する必要があります...ユーザーがコントロールボタンを押したままにせずに複数のアイテムを選択できる方法はありますか?
言い換えれば、ユーザーがアイテムをクリックして選択し、もう一度クリックして選択を解除できるようにしたいのです。
何かご意見は?
metaKey
mousedown を設定しCtrlて、押されることをシミュレートできます。
$('#selectable').bind("mousedown", function(e) {
e.metaKey = true;
}).selectable();
このデモを参照してください。
リンクの例から、スクリプトを変更して要素をトグルとして変更できます
<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>