Web浏览器-重定向F1(不总是工作)
Web browser - redirecting F1 (doesn't work always)
我使用jQuery
重定向F1-F10
键在web浏览器(MFF或chrome):
$('*').live("keydown", function(e) {
if (e.keyCode == 112)
{
document.getElementById('form:f1').click();
return false;
}
});
因此,当我按下F1
时,而不是浏览器自己的HELP
, ID为form:f1
的按钮被触发。可以正常工作,但有时不能。
。我启动web应用程序(浏览器)10次,重定向工作正常,在第11次启动浏览器时,它突然不工作,我不得不重新启动浏览器。
所有其他javascript
或jQuery
函数总是工作,但重定向不工作。
虽然很难看出确切的问题是什么,但所有行都存在问题或不良做法。
-
没有必要将活动事件绑定到所有元素,而是做活动所做的,并利用事件冒泡。只绑定文档的keydown事件
-
使用
e.which
检查按下的键,jQuery规范了事件对象,所以它适用于所有浏览器 -
为了一致性,使用jQuery选择器代替
document.getElementById
-
尽量避免在id中使用特殊字符,在大多数编程语言中最好将它们视为标识符名称。使用
form_f1
代替form:f1
-
用
e.preventDefault()
代替return false
还要确保当你按下F1时,焦点在文档的某个地方,即它不在地址栏或浏览器UI的任何其他按钮/元素上。
如果你在任何地方使用e.stopPropagation()
的keydown事件,这将阻止事件冒泡DOM,回落到默认的热键功能。
下面的代码在FireFox 5和Google Chrome 12中一直为我工作。
$(document).keydown(function(e){
if(e.which == 112){
$('#form_f1').click();
e.preventDefault();
}
});
相关文章:
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- Javascript的某些部分在Chrome中不起作用,但在其他浏览器中可以完美工作
- 如何隐藏空<span>在IE中使用javascript.(注意,在其他浏览器中工作正常)
- Javascript字母选择没有'我不能在谷歌浏览器上工作
- 我如何使HTML5<输入类型=月份>以在所有浏览器上工作
- 我的时间倒计时脚本在谷歌浏览器中工作正常,但在其他浏览器中打开时它显示为南楠
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- Json到CSV下载,可以在chrome中工作,但不能在IE浏览器中工作
- 有没有人能够得到这个要求或调试NPM模块在浏览器中工作
- 为什么不是't my css `content:`在多个浏览器中工作,并总体上提高跨浏览器兼容性
- 无法从IE中的data.responseText获取结果,但在其他浏览器中工作
- 安卓版本的代码不像桌面互联网浏览器那样工作
- 使用HTML和任何服务器端语言(PHP,.net,ruby)制作的网站是否可以在每个具有浏览器的设备上工作
- Web 工作线程中的同步 XHR 请求是否仍会锁定浏览器
- 漂亮的照片在Dreamweaver上完美运行;但不能在任何浏览器上在线工作
- Chrome扩展程序:浏览器操作单击按钮工作一次
- 离子应用程序在浏览器上运行,但在我的安卓设备中无法正常工作
- 浏览器.文件InvokeScript()don'我不在IE9工作
- 为什么本机浏览器排序功能的工作速度比快速排序慢
- Dropdown不会't工作手机浏览器&Firefox