สถานการณ์ที่ 1
หากคุณผูกทั้งเหตุการณ์คลิกและดับเบิลคลิกบนวัตถุ DOM เมื่อเหตุการณ์ดับเบิลคลิกเกิดขึ้นในวัตถุ DOM นี้การคลิกครั้งแรกจะทำให้เกิดเหตุการณ์คลิกการคลิกครั้งที่สองจะทำให้เกิดเหตุการณ์ดับเบิลคลิกหรือเหตุการณ์คลิก (IE7 และ Firefox)
สารละลาย:
<ปุ่ม onclick = "ทดสอบ (1)" ondblclick = "การทดสอบ (2)"> </button> <ภาษาสคริปต์ = "javascript"> var i = 1; การทดสอบฟังก์ชั่น (n) {i = n; var val = settimeout ("call ();", 250); if (i == 2) {cleartimeout (val);}} การเรียกใช้ฟังก์ชัน () {ถ้า (i == 1) {แจ้งเตือน ('คลิก');} อื่นถ้า (i == 2) {แจ้งเตือน ('dblclick');}} </script>อธิบาย:
คลิกครั้งแรกบันทึกเวลาของการคลิกและตั้งค่าการหมดเวลาของเหตุการณ์คลิก (250ms เหมาะสมกว่า) เมื่อคลิกที่คลิกครั้งที่สองให้กำหนดเวลาคลิกและช่วงเวลาของการคลิกครั้งสุดท้าย หากน้อยกว่าช่วงเวลาเหตุการณ์ที่ระบุ (เช่น 250ms) จะถูกตัดสินว่าเป็นเหตุการณ์ดับเบิลคลิกและล้างการหมดเวลาที่กำหนด (หลีกเลี่ยงเหตุการณ์การคลิกที่ทริกเกอร์)
ประเภทที่สอง:
<title> แยกแยะระหว่างคลิกและดับเบิลคลิก-www.vevb.com </title> <script type = "text/javascript"> var flag = 0; function clicktest () {if (! flag) {settimeout ("tt2 ();", 300); } flag ++;} การรีเซ็ตฟังก์ชั่น () {flag = 0;} ฟังก์ชัน singleclick () {var result = document.getElementByIdx_x ('ผลลัพธ์'); result.innerhtml = result.innerhtml+"คลิก <br>"; รีเซ็ต ();} ฟังก์ชั่น dobuleclick () {var result = document.getElementByIdx_x ('ผลลัพธ์'); result.innerhtml = result.innerhtml+"คลิก <br>"; รีเซ็ต ();} ฟังก์ชั่น dobuleclick () {var result = document.getElementByIdx_x ('ผลลัพธ์'); result.innerhtml = result.innerhtml+"คลิก <br>"; รีเซ็ต ();} ฟังก์ชั่น dobuleclick () {var result = document.getElementByIdx_x ('ผลลัพธ์'); result.innerhtml = result.innerhtml+"คลิก <br>"; รีเซ็ต ();} ฟังก์ชั่น dobuleclick () {var result = document.getElementByIdx_x ('ผลลัพธ์'); result.innerhtml = result.innerhtml+"dobule คลิก <br>"; รีเซ็ต ();} ฟังก์ชั่น tt2 () {ถ้า (ธง == 1) {singleclick (); } else {dobuleclick (); }} </script> </head> <body> <อินพุต type = "ปุ่ม" ondblclick = "clicktest ();" onclick = "clicktest ();" value = "คลิกทดสอบ" /> <div id = "result"> </div>ทางออกที่รวดเร็วสำหรับปัญหาความขัดแย้งของการคลิกเมาส์ JS และดับเบิลคลิกที่เหตุการณ์ด้านบนคือเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น