问题已经解决了,但我还是想知道FF里有没有event的repeat,
来点人啊,有人才好放分啊,分是拿不回去的-_-~

解决方案 »

  1.   


    <input onkeydown="kd(event)"/><input id="abc"/>
    <script type="text/javascript">//<![CDATA[
    Event.prototype.__defineGetter__('repeat', function() {
    var b = false, e = this;
    if(e.which===window.EVENT_REPEAT) b = true;
    window.EVENT_REPEAT = e.which;
    return b;
    });
      function kd(e) {
    document.getElementById('abc').value = 'repeat is "' +e.repeat+ '"';
    }
    //]]></script>
      

  2.   

    哦,利用window来定义一个全局变量,在响应按键时判断当前的变量值是否为当前按下的键值,然后再给变量赋值,这样得到的比较结果就是,第一次按键时变量必为undefined,与按键值不相等,因为事件是onkeydown触发的,所以当repeat时,按键的值已经赋给变量了,所以是相等的,这时也就可以检测到当前是repeat了也就是说FF下还是没有自带的repeat属性,还得要自己写实现方法,HOHO~~谢谢BlueDestiny,加分结贴了。。
      

  3.   

    记号。
    BlueDestiny的思路是对的。
    不过还没有考虑周全,当同一个键,释放之后,再按下,你这里还是会被认为是repeat。
    所以,还是得从keyup处着手,keyup的时候置一个标志变量。
    能产生repeat效果的有两个键盘事件:keydown,  keypress.