به لطف خدا به فصل ۱۵ رسیدیم. این فصل کمی طولانی و مفصله و موضوعی که بهش میپردازه، بحث رخدادهاست.
برای آشنایی بیشتر با مطالب این فصل میتونید خلاصهی انتهای فصل رو اینجا مطالعه کنید:
گردانندههای رخداد این امکان را فراهم می کنند که رخدادهایی که در صفحهی وب ما اتفاق می افتند را شناسایی و به آن ها واکنش نشان دهیم. متد addEventListener
برای ثبت گردانندهها استفاده می شود.
هر رخداد دارای یک نوع است ("keydown"
، "focus"
و از این قبیل) که برای شناسایی آن استفاده می شود. بیشتر رخدادها روی عناصر به خصوصی از DOM فراخوانی می شوند و بعد از آن به سمت عناصر والد (اجداد) آن پخش (propagate) می شوند که به گردانندههای ثبت شده برای آن عنصرها نیز امکان واکنش به رخداد را فراهم می کنند.
زمانی که یک گردانندهی رخداد فراخوانی می شود، یک شیء رخداد که حاوی اطلاعات بیشتری در بارهی رخداد است به آن ارسال می شود. این شیء دارای متدهایی است که می توان با آنها از پخش رخداد جلوگیری کرد (stopPropagation
) و مانع از اجرای واکنش پیشفرض مرورگر به رخداد شد (preventDefault
).
با فشردن یک کلید دو رخداد "keydown"
و "keyup"
اجرا می شوند. فشردن یک کلید موس نیز سه رخداد "mousedown"
، "mouseup"
و "click"
را اجرا می کند. حرکت دادن موس باعث ایجاد رخدادهای "mousemove"
می شود. تعامل با صفحهی لمسی باعث ایجاد رخدادهای "touchstart"
، "touchmove"
و "touchend"
می شود.
اسکرول صفحه را میتوان با رخداد "scroll"
شناسایی کرد و فعال شدن عناصر صفحه را می توان با "focus"
و "blur"
تشخیص داد. زمانی که بارگیری یک سند پایان می یابد، یک رخداد "load"
روی window اجرا می شود.
پینوشت: لینک ترجمهی فارسی به سایت اصلی کتاب (انگلیسی) هم اضافه شد :) (+)