检测CMD / CTRL单击选择2选择

时间:2013-08-20 12:39:09

标签: javascript jquery jquery-select2

我在我的网站上使用Select2来处理搜索结果。当用户点击结果列表中的某个项目时,select2选择事件将按原样触发,我已将其发送给所选结果。

$('.select2').on("select2-selecting", function(e) { 
    window.location.href = 'item/' + e.object.id;
});

我可以以某种方式检测用户是否按下 cmd (或Windows上的 ctrl )键并在新标签页中打开页面?

1 个答案:

答案 0 :(得分:0)

使用公爵的回答here和hluk的回答here。我提出了这个解决方案:

$(document).bind('keyup keydown', function(e){
    if(e.ctrlKey || e.metaKey){
        keyIsDown = true;
    }else{
        keyIsDown = false;
    }
});

$('.select2').on("select2-selecting", function(e) { 
    url = 'item/' + e.object.id;
    if(keyIsDown){
        var win=window.open(url, '_blank');
        win.focus();
    }else{
        window.location.href = scriptPath + 'item/' + e.object.id;
    }
});