Как узнать, что событие клика было запущено или нет в jquery? - PullRequest
0 голосов
/ 02 декабря 2009

У меня есть следующая проблема, которую нужно решить.

У меня есть несколько строк данных. Когда я щелкаю одну строку, цвет строки должен быть изменен, а когда я щелкаю другую строку, цвет предыдущей выбранной строки должен стать нормальным, а текущая строка должна быть выделена цветом. Это делается с помощью следующего кода.

Check = function()
{

    $('tr').click(function(){
        $('tr').removeClass("coloradd");
        $(this).addClass("coloradd");

    });

};

Но теперь к требованиям добавлена ​​сложность. Когда я нажимаю клавишу Shift и выбираю несколько строк, выделенные строки должны подсвечиваться. Может ли кто-нибудь помочь мне с этим?

Ответы [ 2 ]

2 голосов
/ 02 декабря 2009

Вы можете проверить ключ сдвига следующим образом (я также включил небольшую оптимизацию):

$('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");
});
0 голосов
/ 02 декабря 2009
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");

    });

};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...