Ath*_*tos 10 html jquery jquery-ui
我有一个输入框,就像一个搜索(类似于Facebook).我在按键事件上使用jquery工作正常.问题是我无法使用箭头键向下滚动结果集,每次按下其中一个结果时,搜索结果将被重新生成.那么可以忽略箭头键/ shift/tab等.
$("#search-form .search-terms").on("keypress", function(){
$("#search-items #autocom").fadeIn();
});
Run Code Online (Sandbox Code Playgroud)
谢谢
the*_*man 29
您需要过滤掉箭头键代码(37,38,39,40),试试这个:
请注意function(e)代替function()- 这允许您获取事件,因此也可以获取密钥代码.
$('#search-form .search-terms').on('keydown', function(e){
// get keycode of current keypress event
var code = (e.keyCode || e.which);
// do nothing if it's an arrow key
if(code == 37 || code == 38 || code == 39 || code == 40) {
return;
}
// do normal behaviour for any other key
$('#search-items #autocom').fadeIn();
});
Run Code Online (Sandbox Code Playgroud)
来自keypress/ keyup/ 的文档的说明keydown:
请注意,keydown和keyup提供一个代码,指示按下哪个键,而keypress指示输入了哪个字符.例如,小写的"a"将通过keydown和keyup报告为65,但是按key按97报告.所有事件都将大写的"A"报告为65.由于这种区别,当捕获箭头键,.keydown()或.keyup()等特殊键击时是更好的选择.
该keypress事件几乎适用于所有情况,但使用谨慎keyup或keydown因为某些浏览器(我认为某些较旧版本的Firefox)未使用该事件检测某些键(例如箭头键)keypress.
| 归档时间: |
|
| 查看次数: |
14780 次 |
| 最近记录: |