เป็นที่คิดกันมาตลอดว่าในการพัฒนาเว็บ เหตุการณ์การดับเบิลคลิกนั้นไม่ค่อยได้ใช้ จนกระทั่งเมื่อเร็วๆ นี้ โปรเจ็กต์จำเป็นต้องผูกสองเหตุการณ์คือการคลิกและดับเบิลคลิกเข้ากับปุ่ม ตอนแรกฉันคิดว่ามันเป็นเรื่องของการผูกสองเหตุการณ์ไว้กับปุ่ม...แต่ต่อมาฉันก็รู้ว่าฉันคิดง่ายเกินไป เมื่อเหตุการณ์ดับเบิลคลิกเกิดขึ้น การคลิกก็จะถูกกระตุ้นเช่นกัน~
หลังจากการค้นคว้า ในที่สุดฉันก็แก้ไขปัญหาได้โดยใช้วิธีดำเนินการล่าช้า "setTimeout" ใน JS เพื่อชะลอการคลิกเป็นเวลา 300 มิลลิวินาที รหัสมีดังนี้:
คัดลอกรหัสรหัสดังต่อไปนี้:
<!DOCTYPE html สาธารณะ "-//W3C//DTD XHTML 1.0 การเปลี่ยนผ่าน//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http //www.w3.org/1999/xhtml"><head>
<title></title>
<mce:script src="jquery-1.6.min.js" mce_src="jquery-1.6.min.js" type="text/javascript"></mce:script>
<mce:script type="text/javascript">
-
$(ฟังก์ชัน () {
วาร์นัม = 0;
var timeFunName = null;
$("ปุ่ม").bind("คลิก", ฟังก์ชั่น () {
// ยกเลิกวิธีการที่ไม่ได้ดำเนินการระหว่างการหน่วงเวลาครั้งล่าสุด
clearTimeout(เวลาสนุกชื่อ);
// หน่วงเวลา 300 มิลลิวินาทีเพื่อดำเนินการคลิก
timeFunName = setTimeout (ฟังก์ชัน () {
หมายเลข++;
$("textarea").val($("textarea").val() + "th" + num + "เหตุการณ์ที่ชื่อเหตุการณ์: คลิก/n");
}, 300); }).ผูก("dblclick", ฟังก์ชั่น () {
// ยกเลิกวิธีการที่ไม่ได้ดำเนินการระหว่างการหน่วงเวลาครั้งล่าสุด
clearTimeout(เวลาสนุกชื่อ);
หมายเลข++;
$("textarea").val($("textarea").val() + "th" + num + "เหตุการณ์ที่ , ชื่อเหตุการณ์: ดับเบิลคลิก/n");
-
-
// --></mce:script>
</หัว>
<ร่างกาย>
<textarea rows="20" cols="50"></textarea><button type="button">ส่ง</button></body></html>