zoukankan      html  css  js  c++  java
  • javascript双击事件取消默认的两次单击事件

    当一个元素同时具有单击和双击事件时,双击时会触发2次单击和1此双击事件。

    双击会:先第1次单击 ,同时触发第2次和双击事件。

    造成的不好影响:每次单击事件会延迟执行。

    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <script type="text/javascript">
            var id;
            window.onload = function () {
                document.getElementById('divdemo').onclick = function () {
                    //清除的是双击事件的第2次单击事件id
                    clearTimeout(id);//这句代码放setTimeout下面,也同样将下面的定时器关掉。
                    id = setTimeout(function () {//不论单双击,每点击一次就会立马产生一个定时器id,产生的id和这个定时器执行与否(什么时候执行)没有关系。
                        alert(id);//单击操作
                    }, 300);
                    //clearTimeout(id);
                }
                document.getElementById('divdemo').ondblclick = function () {
                    //清除的是双击事件的第1次单击事件id
                    clearTimeout(id);
                    alert(id);//双击操作
                }
            }
        </script>
    </head>
    <body>
        <div id="divdemo" style=" 400px; height: 400px; background-color: red">
        </div>
    </body>
    </html>

    只有单击,

        <script type="text/javascript">
            var id;
            window.onload = function () {
                document.getElementById('divdemo').onclick = function () {
                    //清除的是双击事件的第2次单击事件id
                    //clearTimeout(id);//这句代码放setTimeout下面,也同样将下面的定时器关掉。
                    id = setTimeout(function () {//不论单双击,每点击一次就会立马产生一个定时器id,产生的id和这个定时器执行与否(什么时候执行)没有关系。
                        alert(id);//单击操作
                    }, 300);
                    clearTimeout(id);//只有单击时,只能放这,才会让单击事件不执行
                }
            }
        </script>
    
    <body>
        <div id="divdemo" style=" 400px; height: 400px; background-color: red">
        </div>
    </body>
  • 相关阅读:
    Android中的AsyncTask异步任务的简单实例
    Cubieboard学习资源
    BZOJ4518: [Sdoi2016]征途(dp+斜率优化)
    BZOJ1096: [ZJOI2007]仓库建设(dp+斜率优化)
    BZOJ1010: [HNOI2008]玩具装箱toy(dp+斜率优化)
    BZOJ4517: [Sdoi2016]排列计数(组合数+错位排列)
    BZOJ4810: [Ynoi2017]由乃的玉米田(莫队+bitset)
    bitset用法小结
    BZOJ3687: 简单题(dp+bitset)
    BZOJ4484: [Jsoi2015]最小表示(拓扑排序乱搞+bitset)
  • 原文地址:https://www.cnblogs.com/leee/p/4621401.html
Copyright © 2011-2022 走看看