Javascript 为什么赢了';我的代码不能检测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

如果用户单击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.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…

您知道控制键是否被按下的提示吗?

您的事件委派在哪里?