在用js做智能提示的时候 遇到一个问题 就是怎样用键盘的方向键选择对象后一直循环,就想搜索引擎一样,只要按住向上的方向键就一直往上循环,我做的只能按一下就移动一下,就onkeyup事件促发的,本来是想用onkeydown,但是不行,因为用onkeydown得不到文本框最新的值,在这里请问下大家 ,有什么办法能帮我解决这个问题,就是鼠标按住方向键就一直不停的循环选择提示框的内容???  先谢谢大家了!!

解决方案 »

  1.   

    改回 keydown 事件。 既然是用方向键,那么用户按下方向键的时候,是不会改变文本域的值的不存在得不到文本框最新值的情况。注:监听用户输入用 keyup,  然后再绑定一个keydown事件,监听方向键
      

  2.   

    改回keydown,也不能循环选中提示框中的对象,我提示是用li标签做的
      

  3.   

    大家帮忙啊!!  
    怎样用js判断键盘是按键一直是按着的
        我用的是事件中的repeat属性判断 但是只在IE中有效,火狐中没用啊
    下面是我的代码
    document.getElementById("testonkey").onkeydown = function(e) {
    e = window.event || e; 
    if(e.keyCode == 40) {
    if(e.repeat) {
    alert("repeat");
    }

    }
    }
      

  4.   


     document.getElementById("testonkey").onkeydown= function showkey(e){
                var e = window.event || e; 
                var key = e.keyCode || e.which;  
                if(key == 40) {
                    if(e.repeat) {
                        alert("repeat");
                    }
                }
            }
      

  5.   

    楼上的代码也没用啊
      不能实现这里的if(e.repeat) {
                        alert("repeat");
                    }