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>
  • 相关阅读:
    flask---第一篇
    python 奇技淫巧
    Date
    StringBuffer和StringBuilder
    Object
    String 类中的几个练习--获取指定字符串中,大写字母、小写字母、数字的个数||获取一个字符串中,另一个字符串出现的次数
    String 中常用的几种方法
    final
    String类中"=="、equals和普通类中"=="、equals的比较
    构造方法
  • 原文地址:https://www.cnblogs.com/leee/p/4621401.html
Copyright © 2011-2022 走看看