JS实现回车搜索的两种方法
1.方法一:
functionhuichesearch(){//回车搜索
varevent
=window.event||arguments.callee.caller.arguments[0];
if(event.keyCode==
13){
search();//搜索函数
}
}
l 代码解释:当window触发事件或者函数被调用触发事件时,判断是否按下回车键(keyCode=13),按下回车键时进行搜索。
l window.event代表事件对象的状态,只有在事件(如鼠标、键盘等事件)被触发时这个对象才存在。
l arguments.callee指函数体本身,即huichesearch()函数本身;
l arguments.callee.caller.指函数体的调用函数体;
l Arguments.callee.caller.arguments[0]指事件对象。
2.方法二:(考虑到浏览器兼容性)
function huichesearch(e){//回车搜索
varkeyCode
=window.event?
e.keyCode:e.which;
if(keyCode==
13){
search();//搜索函数
}
}
代码解释:
which 和 keyCode 属性提供了解决浏览器的兼容性的方法:
l keyCode属性返回onkeypress事件触发的键的值的字符代码,或者 onkeydown 或 onkeyup 事件的键的代码。
浏览器支持:
注意:在 Firefox 中,keyCode 属性在 onkeypress 事件中是无效的 (返回 0)。浏览器兼容问题,可以一起使用 which 和 keyCode 属性来解决:
var keyCode = window.event ? e.keyCode:e.which;
l which 属性返回onkeypress事件触发的键的值的字符代码,或者 onkeydown 或 onkeyup 事件的键的代码
浏览器支持:
l Event.which:http://api.jquery.com/event.which/
3.总结
l 回车搜索的思路:获取触发事件--做判断是否为回车事件--做搜索处理。
l 解决兼容性问题就一起使用 which 和 keyCode 属性来解决