如何检查onKeyPress在onKeyDown之后是否未启动
How can I check that onKeyPress has NOT fired after onKeyDown?
有些键同时触发onKeyDown和onKeyPress事件,如A
,而有些键只触发onKeyDown,如SHIFT
。如何检查onKeyPress是否没有为特定密钥触发?我需要在按下键后立即检测到它,所以由于延迟,我无法使用onKeyUp。
在这种情况下,您只能使用onKeyUp,因为onKeyPress是在onKeyDown之后和onKeyUp之前激发的。您可以存储onKeyPress是否已被这样的密钥触发:
var keyPressedFired = false;
document.addEventListener("keypress", function(e) {
keyPressedFired = true;
});
document.addEventListener("keyup", function(e) {
if (!keyPressedFired) {
alert('KeyPress not fired this key');
}
keyPressedFired = false;
});
运行代码段,单击其下方的白色部分,然后按SHIFT
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 在chrome.tabs.onCreated之后加载HTML页面
- 在Jquery detachment()和appendTo()之后定位元素
- AngularJS:ng之后,重复$scope值未按预期更新
- 为什么元素的宽度在页面加载之后和那一刻之后不同
- 没有在Angular应用程序中定义firebase(在firebase迁移之后)
- Javascript复选框函数:;缺少:在属性id之后"
- 在刚刚调用的append函数之后,jquery.height()不会返回实际值
- 正在链接添加了以下内容::在之后
- JQuery hide()在show()之后不起作用,反之亦然
- 未执行Ajax循环的Javascript之后的代码
- 如何在`window.open`之后执行回调
- 如何在一个元素动画之后延迟
- 在XMLHttpRequest之后重新初始化jQuery
- <text区域>在我的html中包含event.keycode==13之后,wrap就不起作用了
- 在jAlert之后设置焦点
- 在Javascript中的ajax响应之后未调用Dropdown事件
- web浏览器中的离线应用程序存储数据并在之后上传
- 错误“;未处理'错误'事件“;在运行yo发电机之后
- 如何检查onKeyPress在onKeyDown之后是否未启动