الأحداث هي قلب تطبيقات JavaScript و Glue التي تلمع كل شيء معًا. يحدث الحدث عندما يكون لدينا أنواع معينة من التفاعلات مع صفحات الويب في المتصفح. قد تكون الأحداث مستخدمًا ينقر على محتوى معين ، أو ماوس يمر عبر عنصر معين ، أو الضغط على مفاتيح معينة على لوحة المفاتيح. قد تكون الأحداث أيضًا شيئًا يحدث في متصفح الويب ، مثل تحميل صفحة ويب معينة ، أو يقوم المستخدم بتمرير النافذة أو يغير حجم النافذة.
باستخدام JavaScript ، يمكنك الاستماع إلى أحداث محددة وتحديد أن بعض الأحداث تحدث استجابة لها.
1. أضف الحدث الاستماع
أي:
انسخ الرمز على النحو التالي: accatevent ("onClick" ، function () {...}) // إضافة
detachevent ("onClick" ، function () {...}) // delete
FF:
نسخة الكود كما يلي: addeventListener ("Click" ، Function () {...} ، false)
// يمكنك إضافة العديد من الأحداث التي تستمع إلى كائن واحد ، وهو مختلف عن حدث الكائن الافتراضي
removeEventListenner ("انقر" ، دالة () {...} ، خطأ)
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 هو الكائن المحدد ، SeventType هو نوع الحدث ، مثل النقر ، keydown ، إلخ. خطأ شنيع)؛ } // ie else if (otarget.attachevent) {otarget.attachevent ("on" + seventType ، fnhandler) ؛ } آخر {otarget ["on" + seventType] = fnhandler ؛ }} ؛/* يتم استخدام هذه الطريقة لإزالة أحداث محددة لكائن معين. Otarget هو الكائن المحدد ، SeventType هو نوع الحدث ، مثل النقر ، keydown ، إلخ. } آخر إذا (otarget.detachevent) {otarget.detachevent ("on" + seventType ، fnhandler) ؛ } آخر {otarget ["on" + seventType] = null ؛ }} ؛/*أحداث التنسيق ، لأن IE والمتصفحات الأخرى تحصل على أحداث مختلفة وتختلف خصائص الأحداث أيضًا ، توفر هذه الطريقة حدثًا ثابتًا*/eventUtil.formatevent = function (oevent) {// isie و iswin يشير إلى ملف JS لتحديد نوع نظام التشغيل ونوع التشغيل إذا (isie & iswin) "keypress")؟ oevent.keycode: 0 ؛ // أي يدعم فقط الفقاعات ولا يدعم التقاط 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 ؛ } ؛ // convert toelement ، fromelement to archandtarget القياسية if (oevent.type == "mouseout") {oevent.reledTarget = oevent.toElement ؛ } آخر إذا (oevent.type == "mouseover") {oevent.reledTarget = oevent.fromelement ؛ } // إلغاء bubling oevent.stoppropagation = function () {this.cancelBubble = true ؛ } ؛ oevent.target = oevent.srcelement ؛ // إضافة سمة وقت حدث الحدث ، أي ليس لديه oevent.time = (تاريخ جديد) .getTime () ؛ } إرجاع Oevent ؛ } ؛ eventUtil.getEvent = function () {if (window.event) {// format ie events return this.formatevent (window.event) ؛ } آخر {return eventUtil.getevent.caller.arguments [0] ؛ }} ؛ /** إرفاق ملف JS الذي يحكم المتصفح ونوع النظام. من خلال إدخال بعض المتغيرات العالمية بأسماء واضحة نتيجة للحكم ، يجب أن تكون حذراً من تعارضات الأسماء المتغيرة عند استخدام: */var suseragent = navigator.useragent ؛ var fappversion = parsefloat (navigator.appversion) var aversion2 = sversion2.split (".") ؛ if (aVersion1.Length> aversion2.length) {for (var i = 0 ؛ i <aversion1.length - aVersion2.length ؛ i ++) {aversion2.push ("0") ؛ }} آخر إذا (aVersion1.Length <aversion2.length) {for (var i = 0 ؛ i <aversion2.length - aVersion1.Length ؛ i ++) {aversion1.push ("0") ؛ }} لـ (var i = 0 ؛ i <aversion1.length ؛ i ++) {if (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 ؛ if (isopera) {var foperaversion ؛ if (navigator.appname == "opera") {foperaversion = fappversion ؛ } آخر {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 ؛ if (iskhtml) {issafari = suseragent.indexof ("AppleWebkit")> -1 ؛ iskonq = suseragent.indexof ("konqueror")> -1 ؛ if (issafari) {var reepplewebkit = new regexp ("AppleWebkit /// (// d+(؟: //.//d*)؟)") ؛ reepplewebkit.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 = compareversions (regexp ["$ 1"] ، "2.2")> = 0 ؛ Isminkonq3 = compareversions (regexp ["$ 1"] ، "3.0")> = 0 ؛ isMinkonq3_1 = compareversions (regexp ["$ 1"] ، "3.1")> = 0 ؛ isMinkonq3_2 = Compareversions (regexp ["$ 1"] ، "3.2")> = 0 ؛ }} var isie = suseragent.indexof ("compatible")> -1 && suseragent.indexof ("msie")> -1 &&! isopera ؛ var isminie4 = Isminie5 = Isminie5_5 = iSminie6 = false ؛ if (isie) {var reie = new regexp ("msie (//d+/////d+) ؛") ؛ Reie.test (Suseragent) ؛ var fieversion = 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 ؛ regexp ("rv: (//d+/////d+ (؟: //.//d+)؟)") ؛ remoz.test (suseragent) ؛ Isminmoz1 = compareversions (regexp ["$ 1"] ، "1.0")> = 0 ؛ isMinmoz1_4 = المقارنة (regexp ["$ 1"] ، "1.4")> = 0 ؛ ISMINMOZ1_5 = المقارنة (regexp ["$ 1"] ، "1.5")> = 0 ؛ && fappversion <5.0) ؛ var isminns4 = iSminns4_5 = iSminns4_7 = iSminns4_8 = false ؛ if (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 = iswinxp = failb Isminsunos5 = Isminsunos5_5 = false ؛ if (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) ؛} if (ismac) {ismac68k = suseragent.indexof ("mac_68000")> -1 || 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 = compareversions (regexp ["$ 1"] ، "4.0")> = 0 ؛ Isminsunos5 = compareversions (regexp ["$ 1"] ، "5.0")> = 0 ؛ Isminsunos5_5 = المقارنة (regexp ["$ 1"] ، "5.5")> = 0 ؛ }}ما سبق هو معالجة حدث JS. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.