今天在写一个登录回车提交表单的操作时,出现keydown在IE6下不能提交的兼容问题,随之无奈,找到可以使用keyup或者keypress事件时间来兼容所有浏览器,但是呢体验效果很不友好,所以只能委屈IE这个冤大头使用keyup其他浏览器则使用keydown事件,那么如何判断浏览器版本呢?
jquery API中
$.browser 浏览器内核标识 可用值: safari opera msie mozilla
$.browser.version 浏览器渲染引擎版本号 典型结果: Internet Explorer: 6.0, 7.0 Mozilla/Firefox/Flock/Camino: 1.7.12, 1.8.1.3 Opera: 9.20 Safari/Webkit: 312.8, 418.9
$.support.style 一组用于展示不同浏览器各自特性和bug的属性集合。
if ($.browser.msie && ($.browser.version == “6.0″) && !$.support.style) { //代码 }
最终完整代码:
//判断是否按回车,如果是则提交表单 if ($.browser.msie && ($.browser.version == "6.0") && !$.support.style) { $("#login_form").keypress(function(e){ var e = e || window.event; var keycode = e.which || e.keyCode; if (keycode==13) { $("#clogin").trigger("click"); } }); } else { $("#login_form").keydown(function(e){ var e = e || window.event; var keycode = e.which || e.keyCode; if (keycode==13) { $("#clogin").trigger("click"); } }); }