函数表达式/事件检测在 ie<=9 或 Safari 中不起作用
function expression/event detection not working in ie<=9 or Safari
我一直在寻找这个问题的答案大约一天了,我有一个功能在IE9或更低版本或Safari中不起作用。我认为这是因为它是由键盘事件触发的。它还将事件传递给函数,以便函数可以检查值并采取相应的操作。
我想知道是否有人可以启发我问题是什么,功能如下:
window.onkeyup = function(e) { //This doesn't seem to work in the above browsers
var key = e.keyCode ? e.keyCode : e.which; //But neither does this
if (key == 83 && array.length>=0) {
// Log answer as 'S'
}else if (key == 68 && array.length>=0) {
//Log answer as 'D'
}
}
任何帮助将不胜感激,谢谢。
可能是
因为代码中没有定义array
,至少在代码部分在这里可见。尝试反转条件,也许那时会起作用。
(e.which) ? e.which : e.keyCode
另一个想法是在前面的比较中使用之前e
使用以下代码:
if (window.event){
e = window.event.keyCode;}
else if (event.charCode) {
e = event.charCode;}
else if (event.which){
e = event.which; }
}
相关文章:
- window.open(url).print()在Safari中不起作用
- 复制到剪贴板在safari-angularjs中不起作用
- Javascript Cookies在Safari中不起作用
- 带有Safari的Javascript;不起作用——所有其他浏览器都起作用
- 导航到新url时,Javascript在Safari中不起作用
- JS代码使IE9和Safari冻结,在Opera中不起作用
- html视频javascript播放方法在移动Safari中不起作用
- 为什么这个排序功能在 Safari 中不起作用
- $.getJSON 在 Chrome 和 Safari 中不起作用
- window.dispatchEvent 在 Firefox、Safari 或 IE 中不起作用
- 滚动到顶部按钮在 chrome 或 safari 中不起作用
- jQuery .play() 在移动 Safari 上不起作用
- jQuery .focus() 在 Safari(桌面)的搜索字段中不起作用
- HTML5<视频>元素在Firefox、Opera和Safari中不起作用
- 为什么find('input:focus')在safari中不起作用
- OfflineAudioContext.startRendering()基于承诺的函数在safari中不起作用
- ng模式验证在safari中不起作用
- 图像预览在Safari中不起作用
- 脚本在safari中不起作用
- CreateContextualFragment在safari中不起作用