เหตุการณ์เป็นหัวใจสำคัญของแอปพลิเคชัน JavaScript และกาวที่ติดกาวทุกอย่างเข้าด้วยกัน เหตุการณ์เกิดขึ้นเมื่อเรามีการโต้ตอบบางประเภทกับหน้าเว็บในเบราว์เซอร์ เหตุการณ์อาจเป็นผู้ใช้คลิกที่เนื้อหาบางตัวเมาส์ที่ผ่านองค์ประกอบเฉพาะหรือกดปุ่มบางอย่างบนแป้นพิมพ์ เหตุการณ์อาจเป็นสิ่งที่เกิดขึ้นในเว็บเบราว์เซอร์เช่นการโหลดหน้าเว็บบางอย่างหรือผู้ใช้เลื่อนหน้าต่างหรือเปลี่ยนขนาดหน้าต่าง
ด้วยการใช้ JavaScript คุณสามารถฟังเหตุการณ์เฉพาะและระบุว่าเหตุการณ์บางอย่างเกิดขึ้นในการตอบสนองต่อพวกเขา
1. เพิ่มการฟังเหตุการณ์
เช่น:
คัดลอกรหัสดังนี้: attaineVent ("onclick", function () {... }) // เพิ่ม
detachevent ("onclick", function () {... }) // ลบ
ff:
การคัดลอกรหัสมีดังนี้: addeventListener ("คลิก", function () {... }, false)
// คุณสามารถเพิ่มหลายเหตุการณ์การฟังวัตถุหนึ่งซึ่งแตกต่างจากเหตุการณ์วัตถุเริ่มต้น
removeEventListenner ("คลิก", function () {... }, false)
2. รับวัตถุเหตุการณ์
เช่น:
การคัดลอกรหัสมีดังนี้: op.onclick = function () {
ver oevent = window.event; // เป็นคุณสมบัติของหน้าต่าง
-
ff:
การคัดลอกรหัสมีดังนี้: op.onclick = function (oEvent) {
.... // ควบคุมโดยผ่านพารามิเตอร์
-
ทั่วไป:
การคัดลอกรหัสมีดังนี้: op.onclick = function (oEvent) {
if (window.event) {
OEVENT = WINDOW.EVENT;
-
-
// ได้รับในเวลาจริง แต่คุณสมบัติและวิธีการของวัตถุที่ส่งคืนไม่สอดคล้องกัน แต่สามารถแก้ไขได้โดยใช้ EventUtil!
var eventutil = วัตถุใหม่;/** //*วิธีนี้ใช้เพื่อเพิ่มเหตุการณ์ในวัตถุเฉพาะ Otarget เป็นวัตถุที่ระบุเจ็ดสายพันธุ์คือประเภทเหตุการณ์เช่นคลิก, keydown, ฯลฯ fnhandler เป็นฟังก์ชั่นการเรียกกลับเหตุการณ์*/eventutil.addeventhandler = ฟังก์ชั่น (otarget, เจ็ด type, fnhandler) {// ในกรณีของ Firefox fnhandler, false); } // เช่นอื่น ๆ ถ้า (otarget.attachevent) {otarget.attachevent ("on" + เจ็ด ttype, fnhandler); } else {otarget ["on" + seventtype] = fnhandler; }};/* วิธีนี้ใช้เพื่อลบเหตุการณ์เฉพาะของวัตถุเฉพาะ Otarget เป็นวัตถุที่ระบุ SeventType คือประเภทเหตุการณ์เช่นคลิก, keydown, ฯลฯ fnhandler เป็นฟังก์ชันการเรียกกลับเหตุการณ์*/ eventutil.removeeVenthandler = ฟังก์ชั่น (otarget, SeventType, fnhandler) {if (otarget.removeeVentListener เท็จ); } อื่นถ้า (otarget.detachevent) {otarget.detachevent ("on" + seventtype, fnhandler); } else {otarget ["on" + seventtype] = null; }};/*เหตุการณ์รูปแบบเนื่องจากเช่นและเบราว์เซอร์อื่น ๆ ได้รับเหตุการณ์ที่แตกต่างกันและคุณสมบัติของเหตุการณ์ก็แตกต่างกันวิธีนี้ให้เหตุการณ์ที่สอดคล้องกัน*/eventutil.formateVent = ฟังก์ชั่น (oEvent) {// isie และ iswin อ้างถึงไฟล์ JS "KeyPress")? OEVENT.KEYCODE: 0; // IE รองรับฟองเท่านั้นและไม่สนับสนุนการจับภาพของ OEVENT.EVENTPHASE = 2; oevent.ischar = (oevent.charcode> 0); OEVENT.PAGEX = OEVENT.Clientx + document.body.scrollleft; oevent.pagey = oevent.clienty + document.body.scrolltop; // พฤติกรรมเริ่มต้นของการปิดกั้นเหตุการณ์ oevent.preventDefault = function () {this.ReturnValue = false; - // แปลง toElement, จากการเลือกตั้งเป็นมาตรฐานที่เกี่ยวข้องกับเป้าหมายถ้า (oEvent.type == "mouseout") {oEvent.RelatedTarget = oEvent.toElement; } อื่นถ้า (oEvent.type == "mouseOver") {oEvent.RelatedTarget = oEvent.FromElement; } // ยกเลิก bubbling oevent.stoppropagation = function () {this.cancelBubble = true; - OEVENT.TARGET = OEVENT.Srelement; // เพิ่มแอตทริบิวต์เวลาการเกิดเหตุการณ์เช่นไม่มี oevent.time = (วันที่ใหม่) .getTime (); } return oEvent; }; eventutil.getEvent = function () {if (window.event) {// รูปแบบเช่นเหตุการณ์ส่งคืนนี้ formateVent (window.event); } else {return eventutil.getevent.caller.arguments [0]; - /** แนบไฟล์ JS ที่ตัดสินเบราว์เซอร์และประเภทระบบ โดยการแนะนำตัวแปรทั่วโลกที่มีชื่อที่ชัดเจนเป็นผลมาจากการตัดสินคุณต้องระวังความขัดแย้งของชื่อตัวแปรเมื่อใช้: */var suseragent = navigator.useragent; var fappersion = parsefloat (Navigator.Appversion); ฟังก์ชั่นการเปรียบเทียบ (sversion1, sversion2) var aversion2 = sversion2.split ("."); if (aversion1.length> aversion2.length) {สำหรับ (var i = 0; i <aversion1.length - aversion2.length; i ++) {aversion2.push ("0"); }} อื่นถ้า (aversion1.length <aversion2.length) {สำหรับ (var i = 0; i <aversion2.length - aversion1.length; i ++) {aversion1.push ("0"); }} สำหรับ (var i = 0; i <aversion1.length; i ++) {ถ้า (aversion1 [i] <aversion2 [i]) {return -1; } อื่นถ้า (aversion1 [i]> aversion2 [i]) {return 1; }} return 0;} var isopera = suseragent.indexof ("opera")> -1; var isminopera4 = isminopera5 = isminopera6 = isminopera7 = isminopera7_5 = false; ถ้า (isopera) {var foperaversion; if (navigator.appname == "opera") {foperaversion = fappversion; } else {var reoperaversion = new Regexp ("Opera (//d+//.//d+)"); reoperaversion.test (suseragent); foperaversion = parsefloat (regexp ["$ 1"]); } isminopera4 = foperaversion> = 4; isminopera5 = foperaversion> = 5; isminopera6 = foperaversion> = 6; isminopera7 = foperaversion> = 7; isminopera7_5 = foperaversion> = 7.5;} var iskhtml = suseragent.indexof ("khtml")> -1 || suseragent.indexof ("Konqueror")> -1 || suseragent.indexof ("Applewebkit")> -1; var isminsafari1 = isminsafari1_2 = false; var isminkonq2_2 = isminkonq3 = isminkonq3_1 = isminkonq3_2 = false; ถ้า (iskhtml) {issafari = suseragent.indexof ( iskonq = suseragent.indexof ("Konqueror")> -1; if (issafari) {var reapplewebkit = new regexp ("Applewebkit /// (// d+(?: //.//d*)?)"); reapplewebkit.test (Suseragent); var fapplewebkitversion = parsefloat (regexp ["$ 1"]); isminsafari1 = fapplewebkitversion> = 85; isminsafari1_2 = fapplewebkitversion> = 124; } อื่นถ้า (iskonq) {var rekonq = new regexp ("konqueror /// (// d+(?: //.//d+ (?: //.//d)?)?)"); rekonq.test (Suseragent); isminkonq2_2 = การเปรียบเทียบ (regexp ["$ 1"], "2.2")> = 0; isminkonq3 = การเปรียบเทียบ (regexp ["$ 1"], "3.0")> = 0; isminkonq3_1 = การเปรียบเทียบ (regexp ["$ 1"], "3.1")> = 0; isminkonq3_2 = การเปรียบเทียบ (regexp ["$ 1"], "3.2")> = 0; }} var isie = suseragent.indexof ("เข้ากันได้")> -1 && suseragent.indexof ("msie")> -1 &&! isopera; var isminie4 = isminie5 = isminie5_5 = isminie6 = false; ถ้า (isie) {var reie = new regexp ("msie (//d+//.//d+);"); Reie.Test (Suseragent); var fiefersion = parsefloat (regexp ["$ 1"]); isminie4 = fieversion> = 4; isminie5 = fieversion> = 5; isminie5_5 = fieversion> = 5.5; isminie6 = fieversion> = 6.0;} var ismoz = suseragent.indexof ("gecko")> -1 &&! iskhtml; var isminmoz1 = sminmoz1_4 = isminmoz1_5 = false; ถ้า (ismoz) regexp ("rv: (//d+//.//d+ (?: //.//d+)?)"); remoz.test (suseragent); isminmoz1 = การเปรียบเทียบ (regexp ["$ 1"], "1.0")> = 0; isminmoz1_4 = การเปรียบเทียบ (regexp ["$ 1"], "1.4")> = 0; isminmoz1_5 = การเปรียบเทียบ (regexp ["$ 1"], "1.5")> = 0;} var isns4 =! isie &&! isopera &&! ismoz &&! iskhtml && (suseragent.indexof ("mozilla" 4.0 && fappversion <5.0); var isminns4 = isminns4_5 = isminns4_7 = isminns4_8 = false; ถ้า (isns4) {isminns4 = true; isminns4_5 = fappversion> = 4.5; isminns4_7 = fappversion> = 4.7; isminns4_8 = fappversion> = 4.8;} var iswin = (navigator.platform == "win32") || (navigator.platform == "windows"); var ismac = (navigator.platform == "mac68k") || (navigator.platform == "macppc") || (navigator.platform == "macintosh"); var isunix = (navigator.platform == "x11") &&! iswin &&! ismac; var iswin95 = iswin98 = iswinnt4 = iswin2k = iswinme isminsunos5 = isminsunos5_5 = false; ถ้า (iswin) {iswin95 = suseragent.indexof ("win95")> -1 || suseragent.indexof ("Windows 95")> -1; iswin98 = suseragent.indexof ("windows 98")> -1 || suseragent.indexof ("Windows 98")> -1; iswinme = suseragent.indexof ("windows 98")> -1 || suseragent.indexof ("windows me")> -1; iswin2k = suseragent.indexof ("windows nt 5.0")> -1 || suseragent.indexof ("Windows 2000")> -1; iswinxp = suseragent.indexof ("windows nt 5.1")> -1 || suseragent.indexof ("windows xp")> -1; iswinnt4 = suseragent.indexof ("windows nt")> -1 || suseragent.indexof ("windows nt")> -1 || suseragent.indexof ("windows nt")> -1 || suseragent.indexof ("windows nt4.0")> -1 && (! iswinme &&! iswin2k &&! iswinxp);} ถ้า (ismac) {ismac68k = suseragent.indexof ("Mac_68000") suseragent.indexof ("68k")> -1; ismacppc = suseragent.indexof ("mac_powerpc")> -1 || suseragent.indexof ("ppc")> -1; } if (isunix) {issunos = suseragent.indexof ("sunos")> -1; if (issunos) {var resunos = new regexp ("sunos (//d+//.//d+(?://.//d+)?)"); resunos.test (suseragent); isminsunos4 = การเปรียบเทียบ (regexp ["$ 1"], "4.0")> = 0; isminsunos5 = การเปรียบเทียบ (regexp ["$ 1"], "5.0")> = 0; isminsunos5_5 = การเปรียบเทียบ (regexp ["$ 1"], "5.5")> = 0; -ข้างต้นคือการจัดการเหตุการณ์ JS ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น