برنامه نویسی

بهینه سازی رسیدگی به رویداد JavaScript: حباب و هیئت

رویدادهای JavaScript در همه جا در وب است. با کلیک بر روی یک دکمه ، تایپ کردن در جعبه متن یا حتی حرکت ماوس شما یک رویداد را ایجاد می کند. اما آیا تا به حال فکر کرده اید که چگونه این رویدادها از طریق DOM حرکت می کنند؟ اینجاست که حباب رویداد و نمایندگی رویداد به مرحله اجرا در می آیند.

بیایید آن را به روشی تجزیه کنیم که در واقع منطقی باشد!

در JavaScript چه حادثه ای دارد؟

قبل از پرش به حباب و هیئت ، بیایید به سرعت تعریف کنیم که یک رویداد چیست. یک رویداد در واقع عملی است که در مرورگر اتفاق می افتد ، مانند یک کلیک یا یک مطبوعات کلید. شما می توانید با استفاده از JavaScript به این رویدادها گوش فرا دهید و تصمیم بگیرید که هنگام وقوع چه اتفاقی می افتد.

در اینجا یک مثال ساده برای دستیابی به یک دکمه کلیک کنید:

const button = document.getElementById("myButton");
button.addEventListener("click", () => {
    alert("You clicked the button!");
});
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


حباب رویداد چیست؟

حباب رویداد زمانی است که یک رویداد از عنصر هدف شروع می شود و از طریق اجداد خود حرکت می کند. مانند حباب در آب به آن فکر کنید – پس از ایجاد آنها ، به بالا قیام می کنند.

چگونه حباب رویداد کار می کند
این ساختار HTML را تصور کنید:

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

حال ، بیایید شنوندگان رویداد را به هر دو والدین اضافه کنیم

and the child
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

به جای اضافه کردن شنونده رویداد به هر مورد لیست ، ما یکی را به والدین اضافه می کنیم and check which item was clicked:

document.getElementById("listContainer").addEventListener("click", (event) => {
    if (event.target.classList.contains("list-item")) {
        console.log("Clicked on: " + event.target.textContent);
    }
});
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

حال ، بیایید موارد لیست جدید را به صورت پویا اضافه کنیم:

document.getElementById("addItem").addEventListener("click", () => {
    const newItem = document.createElement("li");
    newItem.classList.add("list-item");
    newItem.textContent = "New Item";
    document.getElementById("listContainer").appendChild(newItem);
});
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

حتی اگر موارد لیست جدید بعداً اضافه شود ، آنها هنوز هم رویداد کلیک را تحریک می کنند. این قدرت هیئت رویداد است!

پیچیدن

درک حباب رویداد به شما کمک می کند تا بدانید که چگونه رویدادها از DOM عبور می کنند ، و نمایندگی رویداد به شما کمک می کند تا رویدادها را به طور کارآمد مدیریت کنید. آنها با هم ، کد جاوا اسکریپت شما را تمیز تر و بهینه تر می کنند.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا