您的位置:首页 > Web前端 > JavaScript

关于按enter进行登录的js实现(判断是否是IE或者是其他浏览器)

2015-10-29 17:11 696 查看
document.onkeydown = function(e){
var ev = document.all ? window.event : e;
if(ev.keyCode==13) {
$("#login").trigger("click");
}
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;">}</span>


一.

document.all是页面内所有元素的一个集合。例如:

document.all(0)表示页面内第一个元素

二.

document.all可以判断浏览器是否是IE

if(document.all){

alert("is IE!");

}

三.

也可以通过给某个元素设置id属性(id=aaaa),然后用document.all.aaaa调用该元素

enter键的ASCII是13

五 var ev = document.all ? window.event : e;

这个是用来区别ie 和其他浏览器的一个判断

在ie中,事件传播的时候,生成的事件对象会绑定到全局的window上
而在其他浏览器中,事件对象将会是一个局部变量,传到方法中

var btn = document.getElementById('btn');//一个按钮
btn.onclick = function(event){//给btn绑定一个点击事件
//其他浏览器会在点击发生的时候,把事件对象当作参数传递过来
alert('其他浏览器:' + event);
//在<a href="https://www.baidu.com/s?wd=ie%E6%B5%8F%E8%A7%88%E5%99%A8&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9m1fYujRkuH-bPhm1rj630ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1Dvn1T4nWmvPHczP1m3nWT3PW0" target="_blank" class="baidu-highlight">ie浏览器</a>中,这个event变量是空,它会在全局的window上
alert('<a href="https://www.baidu.com/s?wd=ie%E6%B5%8F%E8%A7%88%E5%99%A8&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9m1fYujRkuH-bPhm1rj630ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6K1TL0qnfK1TL0z5HD0IgF_5y9YIZ0lQzqlpA-bmyt8mh7GuZR8mvqVQL7dugPYpyq8Q1Dvn1T4nWmvPHczP1m3nWT3PW0" target="_blank" class="baidu-highlight">ie浏览器</a>:' + window.event);
}

这样在处理的时候,为了统一处理event对象,就需要区别出来ie和别的浏览器
而在ie中的document对象有一个all属性,里面存放了页面中所有的标签
在其他浏览器中是没有这个属性的,所以,可以用document.all来判断是否为ie浏览器
然后进行event处理

var btn = document.getElementById('btn');
btn.onclick = function(event){//给btn绑定一个点击事件
//这里用一个三元表达式来做简单判断,如果存在document.all那么使用window.event
//否则就直接用event
var ev = document.all ? window.event : event;
alert(ev);
}

//这个写法可以稍微简单一些
btn.onclick = function(event){
//直接用这个判断,如果存在event对象,则直接用他,否则用window.event
var ev = event || window.event;
alert(ev);
}




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: