我正在尝试进行自定义自动完成输入(我知道jquery UI自动完成,但我决定写一个简单的)。一切都很顺利,我做了所有'一般'的东西 - 将数据发送到一些.php脚本,接收建议。然后我启用了鼠标单击选择元素,并使用“向下箭头”,“向上箭头”a和“输入”键进行了一些导航。但我仍然坚持要求“按住向上箭头键”导航(轻弹)。我输入的处理程序侦听keyup
事件,我完全理解我想要的只是keypress
事件,因为它保持密钥保持。但keypress
仅适用于不包含向下箭头\向上箭头的可打印字符。所以问题是:如何在没有keypress
的情况下使其工作,或者我可以以某种方式覆盖此事件的维护密钥?
谢谢大家,我找到了解决方案。虽然keypress
仅适用于可打印字符,但最新的Opera& amp; Firefox 5确实支持它。但Chrome(可能是Safari,因为它们非常相似)没有,而keydown
给出了我需要的结果。
答案 0 :(得分:2)
如果没有办法克服keypress
难度,请尝试这样的事情。这是伪代码我没有做所有的密钥检测。
var keyStop
onkeydown = function(){
keyStop = setInterval(function(){scrollDown()},250);
}
onkeyup = function(){
clearInterval(keyStop);
}
答案 1 :(得分:0)
如果由于某种原因卡在你的开发中,我会推荐Better Autocomplete,这是一个轻量级的jQuery插件,很容易定制。