需求说明:单击列表项内容后,吧啦吧啦,双击列表项内容后,巴拉巴拉巴拉~~~

解决思路:卧槽 ,其实我是没思路的,当时唯一的想法就是,看个人点击鼠标的速度了,双击快一点,触发双击事件ლ(′◉❥◉`ლ),其实我真的错了因为双击的时候总是触发单击事件  ε=(´ο`*)))唉,真正解决这个问题后,才知道需要弄个延时标志,利用定时器延迟执行onclick事件来实现双击过程中会取消中途触发的单击事件,我这事后诸葛亮也没sei了吧O(∩_∩)O哈哈~5,老规矩 上代码

代码:

页面上的调用:

th:onclick="|dictDetail('${list.name}')|"
th:ondblclick="|clickRow('${list.id}')|"

js代码:

var timeflag = null;  //定义延时标志 强调一点 因为 单击 双击 是在两个方法中, 所以要用到的延时标志只能定义在全局而不能定义在方法中
function dictDetail(dictName) {
if(timeflag) {
window.clearTimeout(timeflag);
timeflag= null;
}
  timeflag = window.setTimeout(function(){
  //函数体 你要做的那些事的代码 比如说弹个框啊, ajax去后台啊,各种
  //代码
  //代码
  }, 300); //300是设置的延时
}
function clickRow(id) {
if(timeflag) {
window.clearTimeout(timeflag);
timeflag = null;
}
  //函数体 你要做的那些事的代码 比如说弹个框啊,ajax去后台啊,各种
}

简单说明一下:我页面用的是thymeleaf模板,所以onclick 前边会有th 以及后面引号中的竖线。

总结:做这个功能的时候没想那么多,演示的时候才发现,双击的时候,总是触发单击事件,非手速问题,是我想得简单了,看了各种网上的资料最后才解决。

大佬链接:https://my.oschina.net/jsan/blog/123181

												

对一个元素 同时添加单击onclick 和 双击ondblclick 触发冲突的解决的更多相关文章

  1. WPF中TreeView单击展开其子元素以及点击一个元素展开其他元素收起

    TreeView单击展开其子元素: 在WPF的TreeView控件中,要想展开它的子元素,我们必须要鼠标左键点两下或者右键点一下,那么我们怎样实现左键点一下就使它展开呢? Xaml: <Grid ...

  2. js在页面中添加一个元素 —— 添加弹幕

    参考地址 [往下拉 —— 使用HTML DOM appendChild() 方法实现元素的添加 ] 一.创建 HTML <div class="right_liuyan"&g ...

  3. JavaScript利用数组原型,添加方法实现遍历多维数组每一个元素

    原型就是提供给我们为了让我们扩展更多功能的. 今天学习了用js模拟底层代码,实现数组多维的遍历.思想是在数组原型上添加一个方法. // js中的数组forEach方法,传入回掉函数 能够帮助我们遍历数 ...

  4. 定义一个Collection接口类型的变量,引用一个Set集合的实现类,实现添加单个元素, 添加另一个集合,删除元素,判断集合中是否包含一个元素, 判断是否为空,清除集合, 返回集合里元素的个数等常用操作。

    package com.lanxi.demo2; import java.util.HashSet; import java.util.Iterator; import java.util.Set; ...

  5. 当一个HTML元素需要添加mouseon、mouseout与click事件,或者mouserenter、mouseleave和click事件时,click事件无法触发

    当一个HTML元素需要添加mouseon.mouseout与click事件,或者mouserenter.mouseleave和click事件时,click事件无法触发 针对上述问题,我遇到的有两种情况 ...

  6. numpy 往array里添加一个元素

    首先这里p_arr为一个numpy的array,p_为一个元素 p_arr = np.concatenate((p_arr,[p_])) # 先将p_变成list形式进行拼接,注意输入为一个tuple ...

  7. 【2017-03-31】JS-DOM操作:操作属性、彩虹导航栏、定时器、操作内容、创建元素并添加、操作相关元素

    一.操作属性 1.什么是属性: <div class="div" id="div1" style="" ></div> ...

  8. JS数组方法汇总 array数组元素的添加和删除

    js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^ var arr = new Array(); arr[0] = "aaa"; arr[ ...

  9. 从下拉菜单拖拽一个元素 出来,插入到页面中的app 列表中

    1,实现功能:从下拉菜单拖拽一个元素 出来,插入到页面中的app 列表中 并实现app向后移动一个元素的位置: 2.实现思路: 01.遍历下拉菜单,添加拖拽方法,实现位置移动功能: 02.遍历app列 ...

随机推荐

  1. mysql 开源 ~ canal+otter系列(2)

    一 创建相应用户    源数据用户权限: GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO `retl`@'%';    目的 ...

  2. java基础梳理--朝花夕拾(一)

    简介: Java是一种撰写跨平台应用软件的面向对象语言,1995年由Sun Microsystems公司推出. 2009年04月20日,甲骨文74亿美元收购Sun,取得java的版权. 2011年7月 ...

  3. 【Convex Optimization (by Boyd) 学习笔记】Chapter 1 - Mathematical Optimization

    以下笔记参考自Boyd老师的教材[Convex Optimization]. I. Mathematical Optimization 1.1 定义 数学优化问题(Mathematical Optim ...

  4. MySql delete和truncate区别

    项目 delete truncate 添加where条件 可以添加 不可以添加 执行效率 略高 高 自增长列 delete删除后,插入数据的自增长 列值从断点开始 truncate删除后,插入数据的自 ...

  5. 两种 AuthorizationSchemes 在 ASP.NET Core 2

    Welcome to IdentityServer4:  https://identityserver4.readthedocs.io/en/release/   支持 ASP.NET Core 2 ...

  6. python 字典不区分大小写工具类

    # -*- coding: utf-8 -*- # @Time : 2018/12/20 4:28 PM # @Author : cxa # @File : DictHelper.py # @Soft ...

  7. javascript动态的改变checkbox的选中状态

    <td> <div class="checkbox"> <label> <input type="checkbox" ...

  8. hibernate框架学习之数据抓取(加载)策略

    Hibernate获取数据方式 lHibernate提供了多种方式获取数据 •load方法获取数据 •get方法获取数据 •Query/ Criteria对象获取数据 lHibernate获取的数据分 ...

  9. linux TLB表

    TLB - translation lookaside buffer 快表,直译为旁路快表缓冲,也可以理解为页表缓冲,地址变换高速缓存. 由于页表存放在主存中,因此程序每次访存至少需要两次:一次访存获 ...

  10. less/sass 基础base文件

    less less-base.less文件展示: //清除标签默认样式; .label(){ ;;;_background-image:url(n1othing.txt)} ;;; font-size ...