آموزش Document Object Series Model 2021 - قسمت 5: رویداد سلسله مراتبی، ضبط و حباب

Document Object Model Series 2021 - Part 5: Event Hierarchy, Capturing and Bubbling

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:

به این مجموعه اشتراک مهارت در مدل شی سند خوش آمدید. این   پنجمین  کلاس در DOM است --  سلسله مراتب رویداد، ثبت و حباب سازی 

چه چیزی را در این کلاس Skillshare خاص پوشش می دهیم؟

ما تعداد زیادی از اطلاعات را در این مجموعه پوشش خواهیم داد، اما برای   قسمت ۵ شما می‌خواهید مفاهیم پیشرفته‌ای درباره اشیاء رویداد در DOM یاد بگیرید. حباب کردن و گرفتن دو مدلی هستند که رویدادهای DOM برای عبور از درخت گره استفاده می کنند.

حباب‌سازی رویداد و عکس‌برداری رویداد اصطلاحاتی هستند که وقتی شروع به برخورد با رویدادها می‌کنید، به‌طور گسترده مورد استفاده قرار می‌گیرند. حیف که تعداد کمی از توسعه دهندگان واقعاً منظور آنها را درک می کنند.

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

بنابراین، جریان رویداد ترتیبی است که رویداد در صفحه وب دریافت می‌شود.

اگر روی عنصری مانند

با این گفته، در این کلاس به برخی از مفاهیم مهم مانند:

نگاه خواهیم کرد
  • ارث
  • اشیاء بومی در مقابل میزبان
  • سلسله مراتب عنصر
  • پسوندهای DOM
  • گرفتن در مقابل حباب
  • هیئت رویداد
  • چگونه از حباب زدن و عکس برداری جلوگیری کنیم
  • چالش های بسیار جالب!
  • و یک دسته دیگر!

من نمی توانم صبر کنم.

بیایید شروع کنیم

--- در مورد اینکه DOM چیست؟ دیگر نگاه نکنید ...

با شروع بیشتر و بیشتر کدنویسی، با اصطلاح "مدل شیء سند" یا به اختصار DOM مواجه خواهید شد.

همانطور که مشخص است، DOM یک مفهوم بسیار مهم در توسعه وب است. بدون آن، ما نمی‌توانیم   به صورت پویا صفحات HTML   را در مرورگر تغییر دهیم.

چی؟

درک DOM شما را برای تبدیل شدن به یک برنامه نویس جلویی عالی مجهز می کند. در واقع راه هایی برای دسترسی، تغییر و نظارت بر عناصر مختلف یک صفحه HTML در اختیار شما قرار می دهد. Document Object Model فراتر می رود، زیرا می تواند به شما کمک کند   افزایش های غیرضروری در زمان اجرای اسکریپت را کاهش دهید.

در این مجموعه در Skillshare، یاد خواهید گرفت که چگونه ایده های خلاقانه، متفاوت و پویا را در وب سایت خود پیاده سازی کنید. به توسعه فرانت‌اند مسلط شوید و نیمی از راه را برای تبدیل شدن به یک توسعه‌دهنده وب تمام پشته دارید. از طریق درک کنترل را در دست بگیرید.   ارائه یک تجربه وب تعاملی چالش برانگیز است.

در این مجموعه، می‌توانید به سؤالاتی مانند این پاسخ دهید: مرورگر دقیقاً چگونه HTML، CSS و جاوا اسکریپت شما را مدل می‌کند؟ از کجا به این مدل دسترسی پیدا کنیم؟ با این مدل چه کنیم؟ چگونه می توانیم این مدل را تغییر دهیم؟ با درک این سوالات، می توانید به DOM دسترسی پیدا کنید و بهتر است آن را دستکاری کنید! به عبارت دیگر، می‌توانید برنامه‌های پویا ایجاد کنید که تعامل و تجربه کاربر را بهبود می‌بخشد.

کل این سری Skillshare DOM چه چیزی را پوشش می دهد؟

این مجموعه همه چیزهایی را که برای شروع کدنویسی سایت های پویا به تنهایی نیاز دارید را ارائه می دهد. این اصول و اصول عملی درستی را در مورد DOM به شما می دهد.   می توان آن را به تنهایی   برای دستیابی به اهداف خود در نظر گرفت. مطمئن باشید، شما از این سری با درک اولیه از DOM و تجربه عملی بیرون خواهید آمد. با هم کد می نویسیم، با هم می خندیم و گاهی با هم گریه می کنیم.

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

در این سری DOM، با تسلط بر Document Object Model، با توسعه وب جلویی آشنا خواهید شد.

چرا باید در مورد DOM بدانید؟

مدل شیء سند (DOM) بخشی ضروری از تعاملی کردن وب سایت ها است. این رابطی است که به یک زبان برنامه نویسی اجازه می دهد محتوا، ساختار و سبک یک وب سایت را دستکاری کند. جاوا اسکریپت زبان برنامه نویسی سمت سرویس گیرنده است که در یک مرورگر اینترنتی به DOM متصل می شود.

اولین قدم در درک DOM، درک چیستی آن است. چه تفاوتی با نشانه گذاری HTML شما دارد؟ چه تفاوتی با جاوا اسکریپت دارد؟ از آنجا، شما شروع به کاوش و آزمایش ابزارهایی برای دسترسی به DOM خواهید کرد. شما استراتژی های ساده و در عین حال بسیار قدرتمند برای دسترسی و عبور از DOM را یاد خواهید گرفت. ما در اینجا متوقف نمی‌شویم، اما سپس وارد کارهای پیشرفته‌تری مانند دستکاری DOM می‌شویم (از طریق روش‌های ایجاد و حذف که توسط DOM API به ما داده شده است).

دانش DOM برای درک چگونگی بهبود صفحه وب شما بسیار مفید است.

در پایان این سری DOM، با به دست آوردن درک درستی از جایی که می‌توانید آن را پیدا کنید، چگونه می‌توانید به آن دسترسی داشته باشید، و مهمتر از آن، چگونه می‌توانید آن را دستکاری کنید، می‌توانید DOM را «صحبت کنید». ما در هر سخنرانی عمیق‌تر می‌شویم، در مورد چیزهایی مانند Nodes، تفاوت بین HTTPCollections در مقابل NodeLists، و کلی چیزهای دیگر می‌آموزیم!

از طریق مثال‌های عملی، این مجموعه به شما کمک می‌کند تا DOM را تکه تکه درک کنید. و ما از جدیدترین و بهترین ویژگی‌های جاوا اسکریپت و مرورگرها (مانند API حذف جدید) در طول مسیر استفاده می‌کنیم تا بتوانید از رقبای خود جلوتر بمانید.

*** مهمترین دوره توسعه وب در Skillshare ***

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

من می‌خواهم شما به یک استاد بزرگ برنامه‌نویسی پیشرفته تبدیل شوید.

می‌خواهم بتوانید آنچه را که در این کلاس‌ها می‌آموزید در صفحه وب خود اعمال کنید.

کل این سری DOM برای شما عالی است.

این مجموعه یک نمای منحصر به فرد به شما می دهد

درک DOM یک موضوع بزرگ است. برای اینکه شما را سریع‌تر بیاورم، من   ماه‌ها   را به این فکر کرده‌ام که محتوا را کجا متمرکز کنم و چگونه آن را در بهترین   به شما ارائه دهم. span>   راه ممکن.

پس از شرکت در کلاس‌های DOM من، «چرا» کارها را یاد خواهید گرفت و نه فقط «چگونه». درک اصول DOM مهم است زیرا امکانات بی نهایتی را در اختیار شما قرار می دهد. با داشتن این دانش، می‌توانید برنامه‌هایی ایجاد کنید که داده‌های صفحه را بدون نیاز به به‌روزرسانی به‌روزرسانی می‌کنند. شما قادر خواهید بود برنامه هایی ایجاد کنید که توسط کاربر قابل تنظیم هستند. حتی می توانید به کاربر اجازه دهید عناصر را بکشد، جابجا کند و حذف کند.

آیا می توانید ببینید که DOM چقدر مهم است؟

این سری Skillshare   چگونه متفاوت است؟

کلاس های Skillshare بسیار خوبی وجود دارد که بر توسعه وب تمرکز دارند. افسوس که آنها هرگز وارد جزئیات نحوه عملکرد مدل شیء سند در پشت صحنه نمی شوند - مهارتی که هر توسعه دهنده تمام پشته باید بر آن مسلط باشد.

در این سری DOM، من روی توسعه وب واقعی در قسمت جلویی تمرکز می‌کنم. این شامل درک اینکه چه گره هایی هستند، نگاه کردن به گره سند (به هر حال این با شی سند متفاوت است)، درک ساختار درختی DOM، انواع مختلفی از گره ها وجود دارد، و چگونه می توانید از DOM برای دسترسی به عناصر استفاده کنید. در صفحه خود قرار دهید و آنها را دستکاری کنید.

تمرین

را عالی می کند

نظریه انتزاعی و دشوار است. به همین دلیل است که من عاشق مثال های عملی هستم. ما از اولین سخنرانی تا آخرین کلاس با هم کد می نویسیم.

آیا این کلاس برای شماست؟

بله.

مهم نیست در مسیر توسعه وب خود کجا هستید. برای همه سطوح مناسب است.

هنوز مطمئن نیستید؟ اگر در هر یک از این دسته ها قرار دارید، این دوره برای شما مناسب است:

  • دانش آموز شماره 1:   شما می خواهید در دنیای برنامه نویسی مشغول شوید. یادگیری اصول HTTP، CSS و نحوه استفاده از جاوا اسکریپت برای تغییر یک صفحه وب، نقطه شروع تبدیل شدن به یک توسعه دهنده تمام پشته است.
  • دانش آموز شماره 2:   شما می خواهید بدانید که چگونه توسعه دهندگان موفق وب سایت های پویایی را ایجاد می کنند که با کاربر درگیر شده و آنها را از رقبا پیشی می گیرد.
  • دانش آموز شماره 3:   شما می خواهید درک کاملی از توسعه وب جلویی به دست آورید.
  • دانش آموز شماره 4:   شما می خواهید شروع به استفاده از چارچوب های پشتیبان مانند Node.js کنید، اما می خواهید ابتدا نحوه استفاده از جاوا اسکریپت در قسمت جلویی صفحه وب خود را بدانید.
  • دانش آموز شماره 5:   شما تا حدودی می دانید که Document Object Model چیست، اما اطلاعات کمی در مورد نحوه عملکرد آن در پشت صحنه، و نحوه پیاده سازی عملی آن در برنامه ها دارید.
  • دانش‌آموز شماره 6:   شما در کلاس‌های دیگری در زمینه توسعه وب شرکت کرده‌اید، اما احساس نمی‌کنید که توسعه جلویی را درک کرده‌اید.

چرا از هم اکنون شروع کنید؟

در همین لحظه، رقبای شما در حال یادگیری نحوه تبدیل شدن به توسعه دهندگان وب بهتر هستند.

توسعه وب یک موضوع داغ در حال حاضر است. اما شما یک مزیت مشخص دارید. این دوره موضوعات یادگیری به یاد ماندنی، تاکتیک های عملی و نمونه های واقعی را ارائه می دهد.

شما را در کلاس می بینیم.

موز عالی!  شما به معنای واقعی کلمه رویدادها را به طور عمیق پوشش داده اید. آفرین!

قبل از تخصیص، اجازه دهید

را خلاصه کنیم

حباب‌سازی رویداد و ضبط رویداد پایه و اساس مدیریت رویداد و نمایندگی رویداد در جاوا اسکریپت است.

این کلاس بر روی مفاهیم پیشرفته‌تر پیرامون رویدادها در DOM تمرکز داشت. به طور خاص، اکنون متوجه شده اید که یک رویداد در DOM به صورت مجزا اتفاق نمی افتد. در واقع، رویداد از طریق کل درخت DOM جریان می یابد (در هر دو جهت - از بالا به پایین و از پایین به بالا).

یکی از مفاهیمی که در مورد آن بحث کردیم حباب رویداد بود. اصل حباب کردن نسبتاً ساده است. وقتی رویدادی روی یک عنصر اتفاق می‌افتد، ابتدا کنترل‌کننده‌ها را روی آن اجرا می‌کند، سپس روی والد آن، سپس تا آخر روی دیگر اجداد.

اما ما در این کلاس درباره بسیاری از مفاهیم دیگر نیز بحث کردیم، نه. مواردی مانند:

  • ارث
  • اشیاء بومی در مقابل میزبان
  • سلسله مراتب عنصر
  • پسوندهای DOM
  • چگونه از حباب زدن و عکس برداری جلوگیری کنیم
  • و یک دسته دیگر!

امیدوارم لذت برده باشید.

اما قبل از اینکه به کلاس بعدی بروید، زمان تکلیف آن است.

تکلیف چیست؟

برای این تمرین پروژه: 

  1. من یک پی دی اف
  2. پیوست کرده ام
  3. سوالات چند گزینه ای وجود دارد
  4. صادق باشید و سعی کنید قبل از رفتن به صفحه بعدی به هر سوال چند گزینه ای پاسخ دهید
  5. مهمتر از همه، لذت ببرید.

بعد از این کجا؟

این فقط قسمت 5 از کل مجموعه Skillshare در DOM است. در کلاس بعدی و FINAL، ما تمام دانش را در کل این مجموعه به کار خواهیم برد و یک فرم واقعاً جالب خواهیم ساخت.

من نمی توانم صبر کنم!

کلاید

p.s. اگر از این کلاس لذت برده‌اید، لطفاً فراموش نکنید که یک بررسی عالی برای من بگذارید - این به من کمک می‌کند.


سرفصل ها و درس ها

درس ها Lessons

  • چرا گرفتن در مقابل حباب اهمیت دارد Why capturing vs bubbling matters

  • چالش لیست - ساختن HTML ما List challenge - building our HTML

  • رویدادها یک اختلال مجزا نیستند Events are not an isolated disturbance

  • اشیاء جاوا اسکریپت در مقابل اشیاء DOM JavaScript objects vs DOM objects

  • معرفی کلاس - ضبط و حباب Class Introduction - Capturing & Bubbling

  • ارث - خلاصه Inheritance - summary

  • پسوندهای DOM - مقدمه DOM extensions - intro

  • هیئت رویداد - مقدمه Event delegation - intro

  • چالش جعبه - کامل کردن راه حل ما Box challenge - perfecting our solution

  • سلسله مراتب گره عنصر Element node hierarchy

  • میزبان در مقابل اشیاء بومی Host vs Native objects

  • چالش نقل قول - ساختن HTML ما Quote challenge - building our HTML

  • وراثت Inheritance

  • افزودن پسوند DOM خودمان Adding our own DOM extension

  • چگونه از ثبت رویداد و حباب کردن جلوگیری کنیم How to stop event capturing and bubbling

  • کلاس Outro Class Outro

  • نحوه گوش دادن در مرحله ضبط How to listen during the capturing phase

  • فهرست چالش - مقدمه List challenge - intro

  • حباب رویداد در مقابل ثبت Event bubbling vs capturing

  • پیدا کردن اینکه متد ()createElement از کجا آمده است Finding where the createElement() method comes from

  • classList API چیست؟ What is the classList API?

  • چالش جعبه - راه حل Box challenge - solution

  • پسوندهای DOM خوب هستند یا بد؟ Are DOM extensions good or bad?

  • چالش نقل قول - مقدمه Quote challenge - intro

  • چالش نقل قول - راه حل Quote challenge - solution

  • چالش جعبه - مقدمه Box challenge - intro

  • فهرست چالش - راه حل List challenge - solution

  • چالش جعبه - ساخت HTML ما Box challenge - building our HTML

  • نمونه ای از استفاده از stopPropagation An example of using stopPropagation

  • حباب در مقابل گرفتن - مثال 2 Bubbling vs capturing - example 2

  • حباب در مقابل گرفتن - مثال 1 Bubbling vs capturing - example 1

  • مشکلات پسوندهای DOM The problems with DOM extensions

نمایش نظرات

آموزش Document Object Series Model 2021 - قسمت 5: رویداد سلسله مراتبی، ضبط و حباب
جزییات دوره
2h 19m
32
Skillshare (اسکیل شیر) Skillshare (اسکیل شیر)
(آخرین آپدیت)
8
از 5
دارد
دارد
دارد
CM Code_Zone
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

CM Code_Zone CM Code_Zone

نادرست | خنده دار است، زیرا حقیقت دارد

موفقیت قربانی می خواهد.

و فداکاری چیزی است که من در مورد آن بسیار می دانم.

من یک توسعه دهنده خودآموخته هستم، بنابراین می دانم که برای یک تازه وارد چقدر می تواند دشوار و دلهره آور باشد.

امروز، من همچنان به کدنویسی ادامه می‌دهم و از آخرین فناوری‌ها و زبان‌های برنامه‌نویسی مطلع می‌مانم.

وقت آن است که دانشی را که به دست آورده‌ام به اشتراک بگذارم و به موفقیت دیگران کمک کنم.