<script language="javascript">
           var clkCount = 0;
     function inputTestClick()
  {    
    var inputTest = document.getElementById('inputTest');
    inputTest.value = clkCount ;
    clkCount ++;
            }
   </script>
            <ul>
      <li  onmousedown="inputTestClick();">value测试</li>
              <li><input    type="text" id="inputTest" name="inputTest"></li>           
            </ul>代码如上,当点击value测试时,调用onClick处理方法,将clkCount 变量加1,然后在inputTest中显示出来。按道理来说,这么简单的方法,应该无论点击多快,都会来得及处理,就不会说上次的点击没处理完,你就又点击了,现在机器的cpu连这点处理能力还是有的。但是在IE上(ie6,ie7)测试,发现快速点击时,会丢失一半左右的点击,即快速点击5下,结果显示为2。同样的代码,在firfox上测试,一次都没有丢失,快速点击多少次都不会。难道是破IE有什么限制?百思不得其解,望高人解答疑惑,感激不尽。。

解决方案 »

  1.   

    这是万恶IE的老毛病了你点得过快,他认为你一直没放开
    所以得用另外个事件(键盘事件也一样)<script language="javascript">
        var clkCount = 0;
        function inputTestClick()
        {
            var inputTest = document.getElementById('inputTest');
            inputTest.value = clkCount ;
            clkCount ++;
        }
    </script>
    <ul>
        <li  onmouseup="inputTestClick();">value测试 </li>
        <li> <input    type="text" id="inputTest" name="inputTest"> </li>
    </ul> 
      

  2.   


    我用了onmousedown,结果是一样的。我后面就没试其他的了。。难道onmouseup可以?
      

  3.   

    补充一下,我最开始是用的onclick,不行才换的onmousedown