我写了这个简单的“网页”来测试如何检查按键是否被按下。如果按左箭头键,则应记录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对象上测试了它上面的所有方法。
我做错了什么?
答案 0 :(得分:0)
如果你坚持保留window.addEventListener()
,则在没有jQuery的情况下触发事件。请参阅the MDN documentation on this。
<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;