国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jquery單擊事件和雙擊事件沖突解決方案

2019-11-20 10:27:28
字體:
來源:轉載
供稿:網友

本人需要給bootstrap-treeview的樹節點添加雙擊事件。而該插件原生方法中不帶雙擊事件功能。該插件的節點默認綁定的單擊事件,由此引起了單擊事件和雙擊事件的沖突。

編寫測試代碼

引起沖突的代碼:

問題效果展示:

每一次觸發雙擊事件都會引起兩次單擊事件

解決沖突的代碼:

解決問題效果展示:

完美解決單擊事件和雙擊事件沖突問題

這里主要用到兩個HTMLDOMWindow對象中函數,settimeout(),clearTimeout()

我這里兩個單擊事件觸發的時間間隔設置在等于300毫秒,這里需要根據實際情況而定。

源碼如下:

<!DOCTYPE html><html> <head>  <meta charset="utf-8">  <title></title> </head> <body>  <div>事件監控</div> </body> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript">  /*$(function() {     $("div").bind("click.a", function() { //單擊事件       $("body").append("<p>click事件</p>");     })     $("div").bind("dblclick.a", function() { //雙擊事件       $("body").append("<p>dblclick事件</p>");     })     $("div").bind("mouseover.a", function() { //鼠標經過元素的事件       $("body").append("<p>mouseover事件</p>");     })     $("div").bind("mouseout.a", function() { //鼠標移出元素的事件       $("body").append("<p>mouseout事件</p>");     })    })*/  $(function() {   var timer = null;   $("div").bind("click.a", function() { //單擊事件     clearTimeout(timer);    timer = setTimeout(function() { //在單擊事件中添加一個setTimeout()函數,設置單擊事件觸發的時間間隔      $("body").append("<p>click事件</p>");    }, 300);   })   $("div").bind("dblclick.a", function() { //雙擊事件     clearTimeout(timer); //在雙擊事件中,先清除前面click事件的時間處理     $("body").append("<p>dblclick事件</p>");   })   $("div").bind("mouseover.a", function() { //鼠標經過元素的事件     $("body").append("<p>mouseover事件</p>");   })   $("div").bind("mouseout.a", function() { //鼠標移出元素的事件     $("body").append("<p>mouseout事件</p>");   })  }) </script></html>

以上就是jquery單擊和雙擊事件沖突解決方案,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 英超| 营山县| 临澧县| 宜君县| 罗江县| 荆州市| 都匀市| 乌什县| 汶川县| 大名县| 中宁县| 民乐县| 江油市| 枣强县| 沁水县| 治县。| 丰宁| 天长市| 新田县| 山阳县| 崇信县| 隆昌县| 洱源县| 五家渠市| 林甸县| 普陀区| 彩票| 黔西县| 五指山市| 东明县| 和静县| 双鸭山市| 龙胜| 东乌珠穆沁旗| 綦江县| 巍山| 墨脱县| 云梦县| 莆田市| 平乡县| 延安市|