its*_*sme 5 javascript keyboard events triggers
我有这段代码:
window.addEventListener('keydown', function (e) {
console.log(e.which);
console.log(e.keyCode);
});
var evObj = new KeyboardEvent('keydown', {key:65});
window.dispatchEvent(evObj);
Run Code Online (Sandbox Code Playgroud)
为什么我在控制台看到0而不是65?
e.keyCode和e.which都是0而不是65,我在Chrome最新版本
非常感谢.
有一个在浏览器的错误,keyCode
而which
不是配置.
可能的工作方式:定义自定义getter
window.addEventListener('keydown', function (e) { console.log(e.which); });
(function(o,k){
//use createEvent for better compatibility
var evObj = document.createEvent('HTMLEvents');
evObj.initEvent('keydown', true, false);
Object.defineProperty(evObj, 'keyCode', {
get: function() {
return k;
}
});
Object.defineProperty(evObj, 'which', {
get: function() {
return k;
}
});
o.dispatchEvent(evObj);
}(window,65));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
633 次 |
最近记录: |