1. نموذج الحدث الأصلي
أنواع الأحداث الخاصة بها: مقسمة إلى "أحداث الإدخال (مثل Onclicki)" و "الأحداث الدلالية (مثل onsubmit)"
يمكن تسجيل برامج الأحداث بالطرق التالية:
1. رمز JS كقيمة خاصية HTML
نسخة التعليمات البرمجية كما يلي: <input type = "button" value = "press me" onClick = "ALERT ('TORAM') ؛"
2. معالج الأحداث كسمات JS
ملاحظة: يحتوي كل عنصر HTML في المستند على كائن JS المقابل في شجرة المستند. تتوافق سمات كائن JS هذا مع خصائص عنصر HTML هذا. سواء كان رمز JS لطبيعة HTML أو معالج الوقت لسمات JS ، فإن سماتها هي الوظيفة "الوظيفة".
انسخ الرمز كما يلي: <form name = "f1">
<name input = "b1" type = "button" value = "اضغط Me"/>
</form>
طريقة المهمة الأولى:
نسخة الكود كما يلي: document.f1.b1.onclick = function () {Alert ('Thank') ؛} ؛
طريقة المهمة الثانية:
نسخة الكود كما يلي: الدالة Plead () {window.status = "الرجاء الضغط على لي!" ؛}
document.f1.bi.onmouseover = plead ؛
يمكن استدعاء معالجات الأحداث كسمات JS بشكل صريح مع سمات JS
نسخة الكود كما يلي: document.myfrom.onsubmit () ؛
يمكن أن يعيد معالج الأحداث Fale لمنع المستعرض من تنفيذ الإجراءات الافتراضية للأحداث ، وعمليات شائعة الاستخدام مثل OnSubmit. الاستثناء
إن حظر النافذة. على سبيل المثال:
انسخ الرمز كما يلي: <a href = "help.htm" onMouseover = "window.status = 'help' ؛ return true ؛"> المساعدة </a>
2. نموذج الحدث DOM2
تم صياغة هذا النموذج مع الإشارة إلى نموذج IE Bubble ، وهو مواصفات صاغها W3C. في النموذج الأصلي ، يتم استدعاء مقبض الحدث مباشرة بمجرد حدوث حدث ما ، ولا توجد عملية انتشار أخرى للحدث. في نموذج DOM2 ، يكون للأحداث عملية انتشار خاصة ، تنقسم إلى ثلاث مراحل:
(1) مرحلة التقاط: يتم نشر الحدث من المستند إلى العنصر المستهدف. خلال هذه العملية ، إذا كان هناك أي عنصر من عناصر الأجداد مهتمًا بالحدث ، فيمكنك تسجيل وظيفة المعالجة الخاصة بك.
(2) المرحلة المستهدفة: يصل الحدث إلى العنصر المستهدف وينفذ وظيفة معالجة الأحداث للعنصر الهدف.
(3) مرحلة الفقاعات: ترتفع الأحداث من العنصر المستهدف حتى المستند. على الرغم من أن جميع أنواع الأحداث سوف تمر بمرحلة مرحلة captring ، إلا أن بعض الأحداث فقط ستمر عبر مرحلة المرحلة الفقاعية ، على سبيل المثال ، لن يتم طرح حدث إرسال.
أثناء عملية انتشار الحدث بأكملها ، يمكن استدعاء Event.StopPropagation () لإيقاف انتشار الحدث ويمكن استدعاء PreventDefault () لمنع السلوك الافتراضي للمتصفح.
نسخة الكود كما يلي: addeventListener ("EventType" ، "Handler" ، "True! false") ؛
removeEventListner ("EventType" ، "Handler" ، "true! false") ؛
أي نموذج
يوفر نموذج IE أيضًا كائن حدث يتغلف المعلومات التفصيلية للحدث ، لكن IE لا يمرر الكائن إلى وظيفة معالجة الأحداث. نظرًا لأنه لن يكون هناك حدث واحد إلا في أي وقت ، أي معتبره سمة من سمة نافذة الكائن العالمي. يتوافق وضع انتشار الحدث في IE مع المرحلتين الثانية والثالثة من DOM2. أولاً ، يتم تنفيذ وظيفة المعالجة للعنصر الهدف ، ثم يصل التحميل إلى المستند. يمكن التقاط أحداث الماوس فقط في IE. يمكن التقاط جميع الأحداث في DOM2. تختلف طريقة تسجيل وظائف معالجة الأحداث وحذفها في IE أيضًا عن DOM2.
يتم تسجيل وحذف معالجات الأحداث من خلال ملحق العنصر ("EventType" ، "Handler") و Detachevent ("EventType" ، "Handler"). على عكس DOM2 ، يحتوي EventType على بادئة على
سمات:
1. عملية الانتشار فقط الفقاعات ولا تلتقطها. طريقة لمقاطعة الفقاعات:
window.ecent.cancelbubble = true ؛
2. كائن الحدث ليس معلمة دالة لمعالج الحدث ، ولكن متغير عالمي للنافذة.
3. وظائف تسجيل الأحداث: ancanphent () ومكافحة التسجيل: detachevent ().
4. نموذج حدث Netscape4
نظرًا لأن Netscape يبدو أنه توقف تمامًا عن التطور ، فلن أشرح ذلك بالتفصيل. ببساطة ، إنه يمسك فقط ولا يفقد.
ما سبق هو مقدمة أساسية لنموذج حدث JavaScript. آمل أن يعطيك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.