最初のクリックと2回目のクリックの間に行を選択する複数の選択機能を追加したテーブルがありshift + clickますが、行間のすべてのテキストが強調表示されます。
CSSを介したテキスト選択を無効にしたくないのは、複数選択機能が起動したときにShiftキーを押しながらクリックしたときだけでなく、実際に選択可能である必要があるためです。
これはできますか?
var lastChecked;
$("#contact_table tr").click(function(e) {
if (e.target.getAttribute('type') == 'checkbox') {
return;
};
if (e.shiftKey && lastChecked) {
// select between last point and new point
var tableRows = $("#contact_table tr");
var newRow = tableRows.index($(this));
var oldRow = tableRows.index(lastChecked);
if (oldRow < newRow) {
newRow = newRow +1;
}
var sliceRange = [newRow, oldRow].sort();
var selectedRows = tableRows.slice(sliceRange[0], sliceRange[1])
.find('input[type=checkbox]').attr('checked', true);
} else {
var checkbox = $(this).find('input[type=checkbox]');
var checked = toggleCheckbox(checkbox);
if (checked) {
lastChecked = $(this);
}
};
recalculateSelectedButton();
});