自定义自动完成箭头控件

时间:2011-07-30 19:27:05

标签: javascript jquery javascript-events autocomplete

我正在尝试进行自定义自动完成输入(我知道jquery UI自动完成,但我决定写一个简单的)。一切都很顺利,我做了所有'一般'的东西 - 将数据发送到一些.php脚本,接收建议。然后我启用了鼠标单击选择元素,并使用“向下箭头”,“向上箭头”a和“输入”键进行了一些导航。但我仍然坚持要求“按住向上箭头键”导航(轻弹)。我输入的处理程序侦听keyup事件,我完全理解我想要的只是keypress事件,因为它保持密钥保持。但keypress仅适用于不包含向下箭头\向上箭头的可打印字符。所以问题是:如何在没有keypress的情况下使其工作,或者我可以以某种方式覆盖此事件的维护密钥?

谢谢大家,我找到了解决方案。虽然keypress仅适用于可打印字符,但最新的Opera& amp; Firefox 5确实支持它。但Chrome(可能是Safari,因为它们非常相似)没有,而keydown给出了我需要的结果。

2 个答案:

答案 0 :(得分:2)

如果没有办法克服keypress难度,请尝试这样的事情。这是伪代码我没有做所有的密钥检测。

var keyStop
onkeydown = function(){
  keyStop = setInterval(function(){scrollDown()},250);
}
onkeyup = function(){
  clearInterval(keyStop);
}

答案 1 :(得分:0)

如果由于某种原因卡在你的开发中,我会推荐Better Autocomplete,这是一个轻量级的jQuery插件,很容易定制。