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>
  • 相关阅读:
    IIS10中使用OpenSSL来创建CA并且签发SSL证书
    vim简单题练习-------出自《鸟哥的linux私房菜》第309页码题目
    Linux删除命令rm
    CentOS下Vim加密解密文本
    Linux中bash shell环境变量
    Linux文件系统损坏导致无法正常启动与fsck修复工具
    rm -rf /*时遇到的趣事
    Linux中tree无法正常显示中文的解决方法
    执行shell脚本的四种方式
    私有网络(VPC)概述
  • 原文地址:https://www.cnblogs.com/leee/p/4621401.html
Copyright © 2011-2022 走看看