如题:用js捕捉鼠标连续点击三次事件怎么实现啊,我是新手,只能实现三次点击,但是却没有实现快速连续点击三次的效果,盼有人帮我解答啊 给个思路也挺好的。

解决方案 »

  1.   

    是要这种效果吗?<html>
    </head>
    <script>
    function  clickThreeTime(){
    var counter=document.form1.counter;
    counter.value = parseInt(counter.value)+1;
    if( counter.value == "3") {
    alert("你已经单击了三次");
    counter.value="0";
    }
    }
    </script>
    </head>
    <body onclick="clickThreeTime()">
    <form name = "form1">
    <input type="button" name = "counter" value=0>
    </form>
    </body>
    </html>第一次写javascript,javascript是弱类型的语言,感觉很麻烦
      

  2.   

    什么才算连续点击三次?这个算不算呢 <html>
    </head>
    <script>
    function  clickThreeTime(){
    var counter=document.form.counter;
    var time = document.form.time;
    if( counter.value == "0") time.value = new Date().getSeconds() ;
    counter.value = parseInt(counter.value)+1;
    if( counter.value == "3") {
    if((new Date().getSeconds()-parseInt(time.value))>1)  alert("超时");
    else alert("你已经单击了三次");//连续点击三次小于1庙钟有效
    counter.value="0";
    }
    }
    </script>
    </head>
    <body onclick="clickThreeTime()">
    <form name = "form">
    <input type="hidden" name = "counter" value="0">
    <input type="hidden" name = "time" value="0">
    </form>
    </body>
    </html>
      

  3.   

    javascript有没有什么全局变量的东东呀,每一次存储变量 我都在使用hidden 真的很麻烦
      

  4.   

    谢谢大家的帮忙,前2楼的仁兄实现了,但是需要用到hidden额外辅助,这个5楼的恩,我也实现了。我在想能不能用setTimeout来实现,当点击第一次之后开始计时,然后1秒钟之内看点击了多少次,这样就很通用了,4、5、6、7.。。都可以判断,可是我写起来却有点混乱,一直有bug 有没有人帮忙点拨一下
      

  5.   

    var clickTimes=0;
    var ckHandler = null;
    var waitTime = 1 * 1000;function ck(){
        clearTimeout(ckHandler);
        alert(clickTimes);
    }var button = (获取页面上的按钮);
    button.click=function(){  //按钮绑定事件
        if(clickTimes == 0){
          ckHandler = setTimeout(ck,waitTime);         
        }
        clickTimes++;}
      

  6.   

    在IE下,第一次点击(click)会触发一次单击(click)事件,第二次点击(连续的)将会触发双击(dblclick)事件,并不触发单击事件(click);
    在FF下,第一次点击(click)会触发一次单击(click)事件,第二次点击(连续的)也会触发双击(dblclick)事件,也会触发单击(click)事件
    <input type="button" id="testId" value="click">
    <input type="type" id="count">(function(){
        var count = 0,
            userAgent = navigator.userAgent,
            el = document.getElementById("testId"),
         cEl = document.getElementById("count");
        function click(){
         count++;
         cEl.value = count;     
        }
        //IE内核
        if(userAgent.indexOf("MSIE")>0) {
         el.attachEvent("onclick", click);
         el.attachEvent("ondblclick", click);
        } else if(userAgent.indexOf("Firefox") > 0){ //FF内核
         el.addEventListener("click", click, false);
        }    
    })()
      

  7.   

    找了一下居然是同一个人。。同一个问题问两次有意思么。。不结贴有意思么。。        var count = 0, timer;
            document.onclick = function(){
                if(count < 2){
                    if(timer){
                        clearTimeout(timer);
                    }
                    count ++;
                    timer = setTimeout(function(){
                        count = 0;
                    }, 500);
                }else if(count === 2){
                    count = 0;
                    clearTimeout(timer);
                    threeClick();
                }
            }
            function threeClick(){
                alert('three click');
            }