解决Firefox中按下回车键重新加载页面的问题
2008-10-23 08:24
295 查看
我们在网上填写表单的时候,有一个习惯,就是当终于填完了最后一个框框后,如释重负,顺手一按回车,就提交了。
比如一个用户登录页面,以前我在最后一个文本框中添加了这样的脚本:
txtPwd.Attributes.Add("onkeydown", "if(event.keyCode==13) event.keyCode=9;");
然后在登录按钮加上:
btnLogin.Attributes.Add("onfocus", "this.click();");
也就是说先把回车键换成tab键,在登录按钮获取焦点后自动点击。这种方法虽然不是很完美,但在IE下确实还是有用的,可是拿到Firefox下就不行了,因为在Firefox下,keyCode是只读的,并不能通过脚本改变。
后来在网上找到这样一段脚本:
function doClick(linkId, e){
var e=(typeof event!='undefined')?window.event:e;
if(e.keyCode != 13){
return;
}
var fireOnThis = document.getElementById(linkId)
if (document.createEvent)
{
var evObj = document.createEvent('MouseEvents')
evObj.initEvent( 'click', true, false )
fireOnThis.dispatchEvent(evObj)
}
else if (document.createEventObject)
{
fireOnThis.fireEvent('onclick')
}
}
这段脚本的作用是,当用户按下回车键时,触发指定的按钮,而不是自动加载页面,然而,在测试的时候,Firefox的确好使,IE下不知为啥有不灵了。我不知道这段脚本中哪句话IE不认识,也不想费时间研究了。于是,就在程序中做了个判断,针对不同的浏览器注册不同的脚本。
最后这个方法个人觉得还是挺好的,只是不知为啥在IE下不行?如果有js高手路过,请顺便指教一下。
比如一个用户登录页面,以前我在最后一个文本框中添加了这样的脚本:
txtPwd.Attributes.Add("onkeydown", "if(event.keyCode==13) event.keyCode=9;");
然后在登录按钮加上:
btnLogin.Attributes.Add("onfocus", "this.click();");
也就是说先把回车键换成tab键,在登录按钮获取焦点后自动点击。这种方法虽然不是很完美,但在IE下确实还是有用的,可是拿到Firefox下就不行了,因为在Firefox下,keyCode是只读的,并不能通过脚本改变。
后来在网上找到这样一段脚本:
function doClick(linkId, e){
var e=(typeof event!='undefined')?window.event:e;
if(e.keyCode != 13){
return;
}
var fireOnThis = document.getElementById(linkId)
if (document.createEvent)
{
var evObj = document.createEvent('MouseEvents')
evObj.initEvent( 'click', true, false )
fireOnThis.dispatchEvent(evObj)
}
else if (document.createEventObject)
{
fireOnThis.fireEvent('onclick')
}
}
这段脚本的作用是,当用户按下回车键时,触发指定的按钮,而不是自动加载页面,然而,在测试的时候,Firefox的确好使,IE下不知为啥有不灵了。我不知道这段脚本中哪句话IE不认识,也不想费时间研究了。于是,就在程序中做了个判断,针对不同的浏览器注册不同的脚本。
最后这个方法个人觉得还是挺好的,只是不知为啥在IE下不行?如果有js高手路过,请顺便指教一下。
相关文章推荐
- 在Asp.net 2.0 中禁用页面缓存解决页面刷新(重新加载数据)的问题!
- 在Asp.net 2.0 中禁用页面缓存解决页面刷新(重新加载数据)的问题!
- 解决: Firefox一些页面绝大部门显示正常,但却永远加载不完的问题,页面一直在加载中
- 当回车关联查询按钮时,如何解决页面重新刷新的问题!
- 关于Firefox重新加载flex的问题解决
- dwzjs在firefox下遇到页面加载问题解决方法
- Android webview旋转屏幕导致页面重新加载问题解决办法
- 在Asp.net 2.0 中禁用页面缓存解决页面刷新(重新加载数据)的问题
- 解决H5页面浏览器返回或前进时ajax不能重新加载数据的问题
- dwzjs在firefox下遇到页面加载问题解决方法
- 关于Android加载HTML页面中的图片显示问题的解决办法
- 自定义UIWebView背景解决加载页面时一片空白问题
- android webview旋转屏幕导致页面重新加载问题
- ng-bind及ng-cloak解决AngularJs页面加载闪屏问题
- 解决AJAX.NET中的悬停panel在页面加载时闪烁的问题
- jquery tmpl()切换页面加载不出问题的解决
- 解决了 Firefox 页面字体过小的问题
- firefox 插件 Flash 已崩溃 重新加载页面
- 解决在IE9,IE10浏览器下,程序没有任何错误,easy ui页面不加载任何数据的问题
- 在前台页面修改properties配置文件后 tomcat重新加载该配置文件的问题