jQuery插件错误在IE6/7,试图运行任何未使用的键被按下.如何战斗
jKey jQuery plugin errors in IE6/7, attempting to run whenever any un-used key is pressed. How to combat?
我在当前项目中使用jKey jQuery插件。它只是让你可以轻松地按下一个键来运行一个功能。下面是我的函数调用:
jQuery(document).jkey('left, right',function(key){
if(key == 'left'){
if (elementIndex == 0) { return; }
question_nav(jQuery('.question-fieldset-active'), 'prev');
} else {
if ((elementIndex + 1) == jQuery('.question-fieldset').length) { return; }
question_nav(jQuery('.question-fieldset-active'), 'next');
}
});
在IE6和7中,按键盘上除了左或右箭头以外的任何其他键会抛出一个讨厌的"错误消息:'indexOf'是null或不是对象"错误。是否有一种方法可以捕获所有其他按键并返回;为了避免这种情况?
实际上这是jKey本身的bug。我发现了这个bug,当我试图在项目中使用。这是将array作为object:
进行循环的典型问题<我> : 224行for(y in keySplit[x])
在 GitHub修订我>
解决方案是像传统的循环一样遍历数组:
for(var i = 0; i < keySplit.length; ++i)
所以你可以手动做,或者从我的谷歌代码修订
而不是仅仅使用else
条件检查key == 'right'
,以及这可能会帮助你。
jQuery(document).jkey('left, right',function(key){
if(key == 'left'){
if (elementIndex == 0) { return; }
question_nav(jQuery('.question-fieldset-active'), 'prev');
} else if(key == 'right') {
if ((elementIndex + 1) == jQuery('.question-fieldset').length) { return; }
question_nav(jQuery('.question-fieldset-active'), 'next');
}
});
相关文章:
- $rootScope未使用forEach进行更新
- 无法在现有状态转换期间更新-未使用任何非法的setState()
- 角度控制器未使用OcLazyLoad和ngRoute加载
- 绑定到 x 可编辑的成功函数未使用正确的参数执行
- 使用jQuery将单击绑定到页面中未使用的部分
- 未使用Javascript在IE中设置Cookie
- Ionic:AngularJS变量未使用$scope更新DOM
- 元素未使用当前玩家操作进行更新
- 将方法从控制器注入到未使用右变量调用的指令
- LinkedIn共享链接图片未使用自定义url更新
- 地图视图未使用PhoneGap加载
- 有没有一种方法可以使用任何浏览器扩展整个dom树'的开发工具
- 组件未使用ReactJS和React Router进行渲染
- 表单未使用 MVC 提交任何值 Asp.Net
- 短信未使用Branch.io和intl tel输入发送到intl号码
- 表列未使用tablesorter插件进行排序
- 如果使用jquery在页面加载时未选择任何选项,如何禁用下拉列表
- Javascript数组中未定义的值是否使用任何内存或在for in循环中迭代
- jQuery插件错误在IE6/7,试图运行任何未使用的键被按下.如何战斗
- 使用Knockout.js创建数据绑定复选框时未选择任何内容