2011-07-30 30 views
0

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

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

回答

2

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

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

第二个函数应该是onkeyup? – madfriend

+0

@Alex是的c/p错误,希望这有助于。 – qw3n

0

如果您由于某种原因被困在开发,我建议Better Autocomplete,这是一个轻量级的jQuery插件这是很容易定制。