0
我有这个代码,当按shift键时选择多行。但是每当选择开始时,表格文本总是被选中,因此我尝试添加disableSelection();到表格并且在鼠标移动后重新启用它。但是,它不起作用,文本仍然被选中。任何帮助是极大的赞赏。选择行禁用/重新启用文本选择
$(".tableGrid tr").live("click", function(event) {
if(event.shiftKey) {
$(".tableGrid").disableSelection();
}
var tableRow = $(this).closest("tr").prevAll("tr").length + 1;
if ($(this).hasClass("rowSelected")) {
event.shiftKey ? $(this).removeClass("rowSelected") : $(".tableGrid tr").removeClass("rowSelected");
}
else {
if(!event.shiftKey) {
$(".tableGrid tr").removeClass("rowSelected");
}
$(this).addClass("rowSelected");
}
if(event.shiftKey) {
var start = Math.min(tableRow, lastSelected);
var end = Math.max(tableRow, lastSelected);
for(var i=start; i<end; i++) { $(".tableGrid").find("tr").eq(i).addClass("rowSelected"); }
}
else {
lastSelected = $(this).closest("tr").prevAll("tr").length + 1;
}
}).mouseup(function() {
$(".tableGrid").enableSelection();
});
我已删除鼠标松开事件,因为我意识到它不应该与click事件结合。 – pakito