أضف أو حذف الأحداث في متصفح IE مع مرفق و detachevent. في المتصفحات القياسية الأخرى ، يتم استخدام AddeventListener و RemoveEventListener. ما يلي يتضمن إضافة وإزالة الأحداث. فقط انظر إلى الكود!
/*** description الحدث الربط ، متوافق مع المستعرضات* param الهدف* كائن الزناد الحدث* param type* event* param func* وظيفة معالج الأحداث*/وظيفة bind (target ، type ، func) {if (target.addentLister) IE6 إلى ie8target.attachevent ("on" + type ، func) ؛} else {target ["on" + type] = func ؛ // ie5}}/*** description إزالة الحدث ، متوافق مع كل متصفح* @param الهدف* كائن trigger الأحداث* param type* event* @param func functler*/function undind (target ، type ، func) {target.detachevent ("on" + type ، func) ؛} آخر {target ["on" + type] = null ؛}}مكملات أخرى حول معنى المعلمة الثالثة لـ AddEventListener
المعلمة الثالثة من addeventListener
تسمى الوظيفة المستخدمة لإضافة حدث الزناد في W3C DOM AddEventListener. ومع ذلك ، لم أكن أعرف أبدًا ما الذي يجب استخدام المعلمة الثالثة لهذه الوظيفة. أنا دائما وضعها عرضا ولم أجد أي فرق. رأيت أخيرًا التفسير عندما قرأت PPK على JavaScript قبل يومين. أما بالنسبة لملفات DOM القياسية التي تم العثور عليها منذ وقت طويل ، فقد لم أبحث عن معلومات حول هذه المعلمة.
تسمى هذه المعلمة usecapture ، وهي قيمة منطقية ، وهي صحيحة أو خاطئة. إذا تم إرسال True ، فسيستخدم المتصفح طريقة الالتقاط. إذا كان خطأ ، فهو يتخبط ، والذي سيكون له تأثير فقط في مواقف محددة. وعادة ما ينصح أن تكون خاطئة. الموقف الذي سيكون فيه هناك تأثير هو أن العنصر المستهدف له عنصر سلف ودالة مراسلة الحدث نفسها. أعتقد أنه سيكون من الواضح أن نرى الصورة.
يحتوي المثال على طبقتين من كتل Div
كما هو موضح في هذه الصورة ، يحتوي مثالي على طبقتين من عناصر Div ، وكلاهما تعيين حدث نقرة. بشكل عام ، إذا قمت بالنقر فوق العنصر الأزرق الداخلي ، فلن يؤدي فقط إلى تشغيل حدث النقر للعنصر الأزرق فحسب ، بل يؤدي أيضًا إلى تشغيل حدث النقر للعنصر الأحمر في نفس الوقت. تتمثل المعلمة USECapture في التحكم في ترتيب أحداث النقرات في هذا الوقت. إذا كان خطأ ، فسيتم استخدام الفقاعات. إنها عملية من الداخل إلى الخارج ، لذلك سيتم تنفيذ حدث النقر للعنصر الأزرق أولاً ثم حدث النقر للعنصر الأحمر. إذا كان هذا صحيحًا ، فسيكون ذلك. على العكس من ذلك ، سيكون الفقاعات من الخارج إلى الداخل. سيتم تنفيذ حدث النقر للعنصر الأحمر أولاً قبل تنفيذ حدث النقر للعنصر الأزرق. المرفقان مثالان ، الالتقاط و bubbleng. يختلف الملفان فقط في هذه المعلمة ، بحيث يمكنك أن تجد أن تسلسل الأحداث يحدث مختلفًا.
ماذا لو كان USECapture المستخدمة من قبل عناصر الطبقات المختلفة مختلفة؟ وهذا يعني أنه من العنصر الخارجي ، سيبحث أولاً عن الأحداث التي تم تعيينها كالتقاط للعنصر المستهدف ، وبعد الوصول إلى العنصر المستهدف لتنفيذ حدث العنصر المستهدف ، ثم ابحث عن الأحداث التي تم تعيينها كفقاعة.