0

我在我的网站上使用Select2来处理搜索结果。当用户单击结果列表中的项目时,会触发 select2-selecting 事件,并且我已将其发送给用户选择的结果。

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

我可以以某种方式检测用户是否按住cmd(或ctrl在 Windows 上)键并在新选项卡中打开页面?

4

1 回答 1

0

这里使用 duke 的答案和 hluk 的答案。我想出了这个解决方案:

$(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;
    }
});
于 2013-08-20T12:59:31.120 回答