如何知道点击事件已被解雇或不在jQuery中?
问题描述:
我有以下问题需要解决。如何知道点击事件已被解雇或不在jQuery中?
我有几行数据。当我点击一行时,行的颜色必须改变,当我点击另一行时,先前选择的行的颜色应该变为正常,并且当前行应该用颜色突出显示。这是通过以下代码完成的。
Check = function()
{
$('tr').click(function(){
$('tr').removeClass("coloradd");
$(this).addClass("coloradd");
});
};
但现在复杂性被添加到需求。当我按Shift键并选择多行时,所选行应该突出显示。任何人都可以帮我解决这个问题吗?
答
可以测试这样的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");
});
答
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");
});
};