JS实现回车搜索的两种方法

本文介绍了两种JavaScript实现回车搜索的方法,并详细解释了代码逻辑,包括利用window.event和arguments.callee.caller处理事件对象,以及解决Firefox中keyCode属性在onkeypress事件中无效的浏览器兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 属性来解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值