废话不多说 直接上代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>测试页</title>
<script type="text/javascript">
//万恶的ie不支持
var d=0;
function c(){
_interval =new Date().getTime() - d;
d = new Date().getTime();
function c1(){
if(_interval<500)return;
alert("单击");
}
function c2(){
alert("双击");
}
if(_interval<500){
c1 = c2;
}
setTimeout(c1,500);
}
</script>
</head>
<body>
<input name="test" id="test" type="button" onclick="c()" value="单双击测试"/>
</body> 
</html>
我这样写用ff 谷歌的浏览器都没有问题,就是ie不行在 ie的情况下如果不是用鼠标点而是用回车点的话也能达到我想要的效果,可是为什么鼠标点就是不行的呢?求高手解答

解决方案 »

  1.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>测试页</title>
    <script type="text/javascript">
    var count = 0
    var timer 
    function c()
    {
       count ++;
       timer = window.setTimeout(function(){
          if(count==1) alert("单击")
          else alert("双击")
          window.clearTimeout(timer)
          count=0
       
       },500)
    }
    </script>
    </head>
    <body>
    <input name="test" id="test" type="button" onmouseup="c()"  value="单双击测试"/>
    </body> 
    </html>
      

  2.   

    LZ代码没问题 但是下面这两句要换下位置 不用我多说 你懂得~~_interval =new Date().getTime() - d;
    d = new Date().getTime();
    改为:
    d = new Date().getTime();
    _interval =new Date().getTime() - d;
      

  3.   

    2楼得 onmouseup对我很大的启发 ,我代码不需要改动
    事件改为onmouseup 对ie 和ff支持了 3q