0

我有以下,但它不工作。jQuery 事件是否支持 keyCode 或者我需要在其他地方获取它?

$('#search-query').on('keyup',function(event){
  if(event.keyCode!==38 or event.keyCode!==40){
    search_autocomplete.call(this);
  }
});

如果它是 keyCode 38 或 40,我将如何告诉 jQuery 忽略它?最终,我想让它喜欢http://www.linkedin.com/上的搜索栏。也许只是引导它?http://twitter.github.com/bootstrap/javascript.html#typeahead

提前谢谢

4

3 回答 3

2

使用||逻辑运算符而不是or在 if 语句中加入条件。

现场演示

改变

 if(event.keyCode!==38 or event.keyCode!==40){

 if(event.keyCode!==38 || event.keyCode!==40){
于 2012-10-30T06:40:18.577 回答
2

确保同时使用event.keyCodeevent.which 以实现跨浏览器兼容性

$('#search-query').on('keyup',function(event){

   var key = event.keyCode || event.which;

  if(key !==38 || key !==40){
    search_autocomplete.call(this);
  }
});
于 2012-10-30T06:43:23.707 回答
0

看看按键...

$('#search-query').keypress(function (e) {
    if(e.which == 38  || e.which == 40) 
        search_autocomplete.call(this);
    }
});  

未经测试,但希望这会有所帮助

于 2012-10-30T06:44:51.617 回答