Javascript Firefox和Chrome中的keyup()错误?

Javascript Firefox和Chrome中的keyup()错误?,javascript,jquery,onkeyup,Javascript,Jquery,Onkeyup,为什么keyup只在特殊键(箭头、空格、退格等)的第二次击后触发两次? -是否有解决此问题的方法? -自动完成功能已关闭 -在IE中,它运行良好 -对于FF和Chrome,使用keydown或keypress可以正常工作 -但我不能使用按键,因为它不适用于IE的特殊键 -我不能使用keydown,因为我需要输入的值,包括我刚才键入的字符。像这样$(this.val()-(我需要它进行实时搜索)。Keydown将给出值,但不包含最后一个字符。也许你可以在这个方向上给我一个想法-如何用keydown


为什么keyup只在特殊键(箭头、空格、退格等)的第二次击后触发两次? -是否有解决此问题的方法? -自动完成功能已关闭 -在IE中,它运行良好 -对于FF和Chrome,使用keydown或keypress可以正常工作 -但我不能使用按键,因为它不适用于IE的特殊键
-我不能使用keydown,因为我需要输入的值,包括我刚才键入的字符。像这样
$(this.val()-(我需要它进行实时搜索)。Keydown将给出值,但不包含最后一个字符。也许你可以在这个方向上给我一个想法-如何用keydown捕获包括最后一个字符在内的值?

基于你的问题,我有点困惑,将keyup和.val()结合起来会不会不符合你的要求

    <input type="text" name=""  autocomplete="off"/>

如果没有,请详细说明。

基于您的问题,我有点困惑,将keyup和.val()结合起来会不会不符合您的要求

    <input type="text" name=""  autocomplete="off"/>

如果没有,请详细说明。

您的问题令人困惑。你到底想干什么?空间如何成为“特殊钥匙”?IE在用户按空格键时触发
keypress
很好,而
keypup
在按键释放时只会触发一次。是的,除了箭头、退格、空格、pgDown等外,keypup只会触发一次。但它仅在FF和Chrome中存在此问题。这一次使用控制台,您将看到,第一次按下箭头时,它不会给出任何结果,第二次按下时(例如,左键)将返回两次37。是的,除箭头和其他几个键外,按键在IE中工作正常。将控制台替换为警报并尝试在IE中运行,您将看到它不会为箭头或Backspace返回任何内容是的,我知道。我的意思是,Firefox或Chrome中的任何键只会触发一个
keyup
事件,如果你看到两个,那么你的代码中一定有错误。另外,keypress不会为箭头、删除、插入等触发notjing。在Chrome中,你的问题也不会令人困惑。你到底想干什么?空间如何成为“特殊钥匙”?IE在用户按空格键时触发
keypress
很好,而
keypup
在按键释放时只会触发一次。是的,除了箭头、退格、空格、pgDown等外,keypup只会触发一次。但它仅在FF和Chrome中存在此问题。这一次使用控制台,您将看到,第一次按下箭头时,它不会给出任何结果,第二次按下时(例如,左键)将返回两次37。是的,除箭头和其他几个键外,按键在IE中工作正常。将控制台替换为警报并尝试在IE中运行,您将看到它不会为箭头或Backspace返回任何内容是的,我知道。我的意思是,Firefox或Chrome中的任何键只会触发一个
keyup
事件,如果你看到两个,那么你的代码中一定有错误。此外,keypress不会为箭头、删除、插入等触发notjing,ChromeYes中的keyup也不会给出我需要的值(包括最后一个字符)。但是,当我尝试在结果列表中使用上下箭头导航时,或者我按下backspace,第一个笔划将不起任何作用,第二个笔划将触发两次。(所以基本上它跳过了一个结果)。放置我的代码并密切关注控制台结果当您按下箭头或退格键时,输入etcYes keyup将给出我需要的值(包括最后一个字符)。但是,当我尝试在结果列表中使用上下箭头导航时,或者我按下backspace,第一个笔划将不起任何作用,第二个笔划将触发两次。(所以基本上它跳过了一个结果)。当您按下箭头或退格、回车等键时,请输入我的代码并密切关注控制台结果
$('input').keyup(function(e){
  liveSearchFunction($(this).val());
});