في بعض الأحيان يمكنك استخدام eStopPropagation () ؛ E.PreventDefault () ؛ لمنع الأحداث من الفقاعات وتنفيذ الأحداث الافتراضية. ولكن لا يمكن منع إضافة الأحداث.
تحت أي ظروف يجب أن نمنع إضافة الأحداث؟
على سبيل المثال:
انقر فوق "الخروج". عندما تقوم بتشغيل هذا ، فإن الخروج نفسه له أحداث خاصة به ، ولكن يجب عليك تحديد ما إذا كنت ستقوم بتسجيل الدخول قبل التحقق.
قد نكتب هذا:
رمز JS
نسخة الكود كما يلي:
إذا كان (Islogin) {// ugny ما إذا كان سيتم تسجيل الدخول
console.log ("لا تسجيل الدخول")
}آخر{
// checkout الكود ذات الصلة
}
إذا قمت بالنقر فوق "صفحتي الرئيسية" ، فستكون لديك أيضًا حكم تسجيل الدخول
رمز الحكم تسجيل الدخول
إذا كان (Islogin) {// ugny ما إذا كان سيتم تسجيل الدخول
console.log ("لا تسجيل الدخول")
}آخر{
// المركز الشخصي
}
إذا كان هناك المزيد من الأحكام تسجيل الدخول. هل سيكون هناك المزيد من الرموز مثل تلك المذكورة أعلاه؟ في وقت لاحق اكتشفت أن طريقة STOPIMMEDIATEPROPAGATION () تمنع إلحاق الحدث. السؤال أعلاه ليس مشكلة.
هام: تأكد من أن تسجيل الدخول يحدد أن الحدث هو الحدث الأول.
الرمز التجريبي
نسخة الكود كما يلي:
<! doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<title> العرض التوضيحي </title>
<script src = "http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"> </script>
</head>
<body>
<a href = "#"> checkout </a>
<ul>
<li> أضف إلى المفضلات </li>
<li> يدفع الآخرون </li>
<li> أضف لشراء سيارة </li>
<li> صفحتي الرئيسية </li>
</ul>
<script>
// ربط أولا
$ (". islogin"). على ("انقر" ، الدالة (e) {
إذا (صواب) {// الحكم تسجيل الدخول
تنبيه ("لا تسجيل الدخول") ؛
E.StopimMediAtepragation () ؛
}
العودة كاذبة
}) ؛
$ ("
ALERT ("Checkout ذات الصلة المحتوى!") ؛
}) ؛
$ (". a1"). on ("Click" ، function () {
تنبيه ("A1") ؛
}) ؛
$ (". A2"). على ("انقر" ، وظيفة () {
تنبيه ("A2") ؛
}) ؛
$ (". A3"). على ("انقر" ، وظيفة () {
في حالة تأهب ("تمت إضافته إلى العربة") ؛
}) ؛
$ (". A4"). على ("انقر" ، وظيفة () {
تنبيه ("هناك حكم تسجيل الدخول") ؛
}) ؛
</script>
</body>
</html>
في الواقع ، توفر لنا jQuery طريقة لعرض الأحداث $ ._ البيانات ($ ('. Islogin'). GET (0)) ، Open Firebug ، وأدخلها في وحدة التحكم.
رمز JS
$ ._ البيانات ($ ('. islogin'). الحصول على (0))
سترى ما يلي:
رمز JS
الكائن {events = {...} ، handle = function ()}
انقر لمشاهدة صفيف الحدث لتسهيل عرض نوع الأحداث المرتبطة بالعنصر.