3.1. كيف تحدث الأحداث*
في الحالة الأولى ، يقوم المستخدم بعمليات معينة على صفحة الويب ، مثل النقر فوق زر لإنشاء حدث نقرة. في الحالة الثانية ، إذا لم يتم تشغيل المستخدم على صفحة الويب ، فقد يحدث حدث أيضًا. على سبيل المثال ، قام المتصفح بتحميل الصفحة بأكملها ، والتي ستولد حدث إكمال التحميل. بعد إنشاء الحدث ، سيبحث المستعرض عن ما إذا كانت العقدة التي أنشأت الحدث قد ربطت رمز معالجة الأحداث المقابل. إذا كان الأمر كذلك ، يتم استدعاء الكود للتعامل معه. إذا لم يكن الأمر كذلك ، فستستمر البحث عن العقدة الأصل للأعلى ، ولا يوجد رمز معالجة الأحداث المقابل (فقاعات الأحداث).
3.2. رمز معالجة الأحداث الملزمة **
1) ربط رمز معالجة الأحداث لعلامة HTML
على سبيل المثال: <a id = "a1" href = "" onClick = "f1 () ؛"> انقر فوق </a>
2) ربط رمز معالجة الأحداث لعقدة DOM
var obj = document.getElementById ('a1') ؛ obj.onclick = f1 ؛
يلاحظ:
أ. لا تضيف "()" إلى F1. إضافة "()" يعني أن F1 يتم تنفيذها على الفور.
ب. يمكن استخدام ربط صف وظيفة مجهول.
هذا هو: obj.onclick = function () {// code. }
ج. يمكن لربط رمز معالجة الأحداث إلى عقدة DOM فصل رمز JS تمامًا دون HTML ، وهو مريح لصيانة الكود.
د. إذا كنت ترغب في تمرير المعلمات إلى الوظيفة المربوطة. يمكن حل وظائف مجهولة.
هذا هو: obj.onclick = function () {f (المعلمة) ؛ }
3) استخدم طريقة الربط الخاصة بالمتصفح (فهم)
المتصفحات المختلفة لها طرق ربط فريدة خاصة بها ، ولأنها غير متوافقة ، حاول استخدامها بأقل قدر ممكن.
يمكن كتابة البرامج النصية النصية في <body>
أي ما يعادل الرقم التالي
ماذا لو تم تمرير المعلمات؟ استخدام وظائف مجهولة
[الحالة 3.1] رمز معالجة الأحداث الربط لأعلى علامة HTML **
3.3. كائن الحدث ***
1) الحصول على كائن الحدث
IE Browser: يمكنك استخدام الحدث مباشرة للحصول على
Firefox: يجب إضافة حدث معلمة إلى الطريقة
بشكل عام ، لكي تكون متوافقة مع IE و Firefox ، أضف حدثًا للمعلمة إلى الطريقة.
2) دور كائنات الحدث
أ. الحصول على إحداثيات النقر الماوس
event.clientx event.clienty
ب. الحصول على مصدر الحدث (الكائن الذي أنشأ الحدث)
Firefox: event.target يحصل على متصفح IE: Event.Srcelement يحصل
3.4. فقاعة الأحداث **
1) ما هي فقاعة الأحداث؟ عندما يتم إنشاء حدث بواسطة عقدة ، سيتم تحميل الحدث لأعلى بدوره (أولاً إلى العقدة الأصل ، إذا كانت العقدة الأصل تحتوي على عقدة الأصل ، ثم قم بتحميلها لأعلى).
2) كيف تحظر الفقاعات؟ event.cancelBubble = true ؛
2) ظاهرة "الفقاعة الحدث" تغلق مربع الحوار "لقد نقرت على رابط" ، وتستمر في الظهور في مربع الحوار "لقد قمت بالنقر فوق Div"
【الحالة 3.4】 كائن الحدث **
<html>
<!-كائن الحدث->
------------------------------------------------------------------------------------------------------------------------------------
يستخدم JS مدفوعًا بالحدث للرد على عمليات المستخدم.
على سبيل المثال ، يتم تسمى العملية التي تم تنفيذها على نافذة المتصفح أو عنصر صفحة الويب (الزر ، مربع النص ...) من خلال الماوس أو المفتاح بحدث (حدث).
تسمى تصرفات سلسلة من البرامج الناتجة عن الماوس أو المفتاح الساخن سائق الحدث.
يتم استخدام معالج أو وظيفة للتعامل مع الأحداث ، التي نسميها معالج الأحداث (معالج الأحداث).
------------------------------------------------------------------------------------------------------------------------------------
معالجة توافق المتصفح
<script language = "javaScript"> <!- if (window.xmlHttPrequest) {// mozilla ، safari ، ie7 ، ie8 if (! window.activexobject) {// mozilla ، safari ، alert ('mozilla ، safari') ؛ } آخر {Alert ('ie7 .8') ؛ }} آخر {Alert ('ie6') ؛ } //-> </script>-------------------------------------------------------------------------------يتبع
يتطلب الحدث طرقًا متعددة ، يمكنك استخدامه وفصله.
<type type = "button" value = "red" onClick = "myChange (this) ، sayhello ()"/>
<body onKeyDown = "showKey (event)" onload = "abc ()" onUnload = "abc2 ()">
المقالة أعلاه حول طريقة توافق المتصفح لآلية JS التي تعتمد على الحدث هي كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.