使用arguments对象处理兼容各浏览器的键盘按钮事件
2015-04-03 18:28
519 查看
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">项目要求按下回车时执行登录,由于IE和火狐等浏览器事件对象模型不同,几经考虑后采用该对象处理,废话不说看代码</span>
原理如下:
function f1(a){
f2(a+'a');
}
function f2(b){
alert(arguments.callee);//当前正在调用的函数
alert(arguments.callee.caller);//调用当前正在调用函数的函数
alert(arguments.callee.caller.arguments.length);//...的参数长度
}
<body onkeypress="keyPress();">
function keyPress(){ var pressE = arguments.callee.caller.arguments[0]; if(pressE && pressE.keyCode==13){ alert('登录!'); } }
原理如下:
function f1(a){
f2(a+'a');
}
function f2(b){
alert(arguments.callee);//当前正在调用的函数
alert(arguments.callee.caller);//调用当前正在调用函数的函数
alert(arguments.callee.caller.arguments.length);//...的参数长度
}
相关文章推荐
- 下面的示例演示如何使用传递到事件处理方法的 GridViewCommandEventArgs 对象确定引发事件的按钮的命令名。
- JS处理键盘事件 兼容多浏览器
- 监听浏览器关闭按钮点击事件 -- 使用JS
- 当使用EntityDataSource作为GridView的数据源时,在RowDataBound事件处理方法中得到对应当前行的实体对象
- Javascript跨浏览器处理键盘事件keydown,keypress,keyup
- 使用jQuery JavaScript框架的处理浏览器事件
- 一个jstl标签综合运用的例子(包括下拉列表事件处理等等),直观了解一个浏览器页面上有多少对象)
- 具有跨浏览器兼容的事件处理javascript脚本
- ie中按钮onclick等事件失效。提示提示对象不支持此操作。在谷歌浏览器中又能使用解决办法
- 兼容主流浏览器的事件处理程序
- 跨浏览器的事件处理对象
- Repeater嵌套使用及按钮事件处理
- [Asp.Net]Repeater嵌套使用及按钮事件处理
- jquery 遍历json对象,为按钮添加键盘事件
- AJAx使用浏览器兼容的方式创建 异步对象
- 使用jQuery的validation后,无法引发asp.net按钮的事件处理程序
- js键盘事件浏览器兼容总结
- 监听浏览器关闭按钮点击事件 -- 使用JS
- [Asp.Net]Repeater嵌套使用及按钮事件处理
- 跨浏览器的事件处理程序和跨浏览器的事件对象