Javascript 为什么赢了';我的代码不能检测ctrl键状态工作吗?
如果用户单击enter键时按下shift键,我会尝试打开一个新窗口,如果按ctrl键,则会打开一个新选项卡。shift部分工作,但ctrl部分不工作Javascript 为什么赢了';我的代码不能检测ctrl键状态工作吗?,javascript,html,dom-events,internet-explorer-9,keypress,Javascript,Html,Dom Events,Internet Explorer 9,Keypress,如果用户单击enter键时按下shift键,我会尝试打开一个新窗口,如果按ctrl键,则会打开一个新选项卡。shift部分工作,但ctrl部分不工作 var ctrlPressed = false; var shiftPressed = false; var stb = null; function onload() { stb = document.getElementById("searchTextBox"); } function enter(e) { if (e
var ctrlPressed = false;
var shiftPressed = false;
var stb = null;
function onload() {
stb = document.getElementById("searchTextBox");
}
function enter(e) {
if (e.keyCode == 13) {
if (!ctrlPressed && !shiftPressed) {
window.location = "http://search.yahoo.com/search?p=" + encodeURI(stb.value) + "&fr2=sb-top&fr=404_web&pqstr=" + encodeURI(stb.value);
}
else if (ctrlPressed) {
window.open("http://search.yahoo.com/search?p=" + encodeURI(stb.value) + "&fr2=sb-top&fr=404_web&pqstr=" + encodeURI(stb.value));
}
else if (shiftPressed) {
window.open("http://search.yahoo.com/search?p=" + encodeURI(stb.value) + "&fr2=sb-top&fr=404_web&pqstr=" + encodeURI(stb.value), "_blank");
}
}
}
function searchdown(e) {
if (e.keyCode == 17) {
ctrlPressed = true;
}
else if (e.keyCode == 16) {
shiftPressed = true;
}
}
function searchup(e) {
if (e.keyCode == 17) {
ctrlPressed = false;
}
else if (e.keyCode == 16) {
shiftPressed = false;
}
}
另外,我不能使用jQuery…您知道控制键是否被按下的提示吗?您的事件委派在哪里?