我有以下问题需要解决。
我有几行数据。当我单击一行时,必须更改行的颜色,当我单击另一行时,前一个选定行的颜色应该变为正常,并且当前行应该用颜色突出显示。这是通过以下代码完成的。
Check = function()
{
$('tr').click(function(){
$('tr').removeClass("coloradd");
$(this).addClass("coloradd");
});
};
但现在要求增加了复杂性。当我按下shift键并选择多行时,所选行应突出显示。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:2)
您可以像这样测试shift键(我还包括一些优化):
$('tr').click(function(e){
// Only run if Shift key is not held down
if(!e.shiftKey) $('tr.coloradd').removeClass("coloradd");
// Always select the current row
$(this).addClass("coloradd");
});
答案 1 :(得分:0)
Check = function()
{
$('tr').click(function(e){
var code = (e.keyCode ? e.keyCode : e.which);
if(code != SHIFT_KEY_CODE_HERE) {
$('tr').removeClass("coloradd");
}
$(this).addClass("coloradd");
});
};