我在我的网站上使用Select2来处理搜索结果。当用户点击结果列表中的某个项目时,select2选择事件将按原样触发,我已将其发送给所选结果。
$('.select2').on("select2-selecting", function(e) {
window.location.href = 'item/' + e.object.id;
});
我可以以某种方式检测用户是否按下 cmd (或Windows上的 ctrl )键并在新标签页中打开页面?
答案 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;
}
});