在网站

时间:2017-02-19 20:16:29

标签: javascript jquery

我写了这个简单的“网页”来测试如何检查按键是否被按下。如果按左箭头键,则应记录1;如果按右箭头键,则记录2:

<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.1.min.js"></script>

<script>
    window.addEventListener("keydown", function (event) {
        if(event.keyCode == 37 ){
            console.log(1);
        }
        if(event.keyCode == 39 ){
            console.log(2) ;
        }
    });

    $(window).trigger("keydown", { which: 37, keyCode: 37 });
</script>

你可以测试一下。它工作正常。但是,如果我想通过Javascript以编程方式触发此事件,我就失败了。

我找到了这个post并在窗口,文档和正文DOM对象以及“脚本”JQuery对象上测试了它上面的所有方法。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

如果你坚持保留window.addEventListener(),则在没有jQuery的情况下触发事件。请参阅the MDN documentation on this

&#13;
&#13;
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.1.1.min.js"></script>

<script>
    window.addEventListener("keydown", function (event) {
        if(event.keyCode == 37 ){
            console.log(1);
        }
        if(event.keyCode == 39 ){
            console.log(2) ;
        }
    });

    var event = new Event("keydown");
    event.keyCode = 37; event.which = 37;
    window.dispatchEvent(event);
</script>
&#13;
&#13;
&#13;