برنامه نویسی و طراحی سایت

Event در جاوا اسکریپت چیست؟ – توضیح مفهوم رویداد + مثال

Event در جاوا اسکریپت چیست؟ – توضیح مفهوم رویداد + مثال

Event در جاوا اسکریپت (رویداد در جاوا اسکریپت) به اقداماتی گفته می‌شود که در مرورگر انجام خواهند شد و می‌توانند توسط کاربر یا خودِ مرورگر فعال شوند. با استفاده از اجرای رویدادها در جاوا اسکریپت، برنامه نویسان می‌توانند برنامه‌ها و وب‌سایت‌های خود را تعاملی‌تر کرده و به کاربران تجربه بهتری را از سایت یا برنامه خود ارئه دهند. در این مطلب از مجله آموزشی تم آف می‌خواهیم در رابطه با Event در جاوا اسکریپت و ابعاد مختلف آن توضیحاتی را ارائه کنیم.

فهرست مطالب این نوشته
Event در جاوا اسکریپت چیست ؟

انواع Event در جاوا اسکریپت

کنترل کننده رویداد و شنونده رویداد در جاوا اسکریپت

کنترل کننده رویداد درون خطی

ویژگی کنترل کننده رویداد در جاوا اسکریپپت

شنونده رویداد

انواع رایج رویداد در جاوا اسکریپت

رویداد ماوس در جاوا اسکریپت چیست؟

رویداد فرم

رویداد صفحه کلید در جاوا اسکریپت چیست؟

شی رویداد در جاوا اسکریپت

event.target در جاوا اسکریپت

سخن پایانی

faradars mobile

Event در جاوا اسکریپت چیست ؟

رویداد یا همان Ecent در زبان برنامه نویسی جاوا اسکریپت عملی است که می‌تواند تابعی را برای اجرا در هنگام وقوع آن رویداد فرواخوانی کرده و آن تابع عملی در ازای این فراخوانی انجام دهد. از جمله نمونه‌هایی از وقوع رویدادها در جاوا اسکریپت می‌توان به کلیک کردن کاربر روی دکمه‌ها، نگه‌داشتن ماوس روی عناصر، تغییر اندازه پنجره، ارسال فُرم و بسیاری از عمل‌های دیگر اشاره کرد.

آموزش جاوا اسکریپت JavaScript
فیلم آموزش جاوا اسکریپت JavaScript در تم آف

کلیک کنید

«کنترل کننده رویداد» (Event Handler)، «شنونده رویداد» (Event Listeners) و «اشیای رویداد» (Event Objects)، همه اجزای مهم مدیریت رویدادها در جاوا اسکریپت هستند که در ادامه با هر کدام از آن‌ها آشنا خواهیم شد.

آموزش event در جاوا اسکریپت

انواع Event در جاوا اسکریپت

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

آموزش جاوا اسکریپت JavaScript
فیلم آموزش جاوا اسکریپت JavaScript

کلیک کنید

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

با استفاده از «پاسخ‌های جاوا اسکریپت» (JavaScript Responses) برای اجرای این رویدادها، توسعه‌دهندگان می‌توانند وبسایت‌های خود را به گونه‌ای توسعه دهند که در ازای اقدام کاربران، پیام‌هایی را برای آن‌ها نمایش دهند، داده‌ها را اعتبارسنجی کنند و به کلیک کاربران روی دکمه‌ها واکنش نشان دهند.

کنترل کننده رویداد و شنونده رویداد در جاوا اسکریپت

هنگامی که کاربر روی دکمه یا عنصری در صفحه کلیک می‌کند (رویداد کلیک) یا کلیدی را فشار می‌دهد (رویداد فشار کلید)، رویداد در جاوا اسکریپت فعال می‌شود. در اصل کنترل کننده رویداد نوعی تابع جاوا اسکریپت است که هنگام فعال شدن یک رویداد اجرا می‌شود.

آموزش JavaScript ES6 جاوا اسکریپت
فیلم آموزش JavaScript ES6 جاوا اسکریپت در تم آف

کلیک کنید

«شنونده رویداد» (Event Listeners) در جاوا اسکریپت نوعی رابط پاسخگو را به عناصری خاص متصل می‌کند. این رابط به آن عناصر خاص اجازه می‌دهد تا منتظر رویداد بمانند و هنگام وقوع رویدادها، اعمال متناسب خود را انجام دهند. سه راه برای تخصیص رویدادها به عناصر در جاوا اسکریپت وجود دارد که به صورت فهرست موارد زیر هستند:

  • «کنترل کننده رویداد درون‌خطی» (Inline Event Handlers)
  • «ویژگی‌های یا پراپرتی کنترل کننده رویداد» (Event Handler Properties)
  • «شنونده رویداد» (Event Listeners)

در ادامه برای آشنایی هر چه بهتر کاربران با موضوع Event در جاوا اسکریپت هر سه مورد اشاره شده پوشش داده می‌شوند.

کنترل کننده رویداد درون خطی

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

آموزش پروژه محور جاوا اسکریپت، CSS و HTML – طراحی صفحه فرود واکنشگرا
فیلم آموزش پروژه محور جاوا اسکریپت، CSS و HTML – طراحی صفحه فرود واکنشگرا در تم آف

کلیک کنید

برای نمونه در مثال پیش رو، محتوای متن تگ p

 تغییر خواهد کرد. برای انجام این کار، ابتدا به یک صفحه HTML نیاز خواهد بود که این صفحه دارای عنصر دکمه و تگ p

در بدنه خود است. سپس یک کنترل کننده رویداد به عنصر دکمه اضافه می‌شود که این کنترل کننده نوعی تابع جاوا اسکریپت را فراخوانی می‌کند.

تابع جاوا اسکریپت محتوای متن عنصر p

را به‌روز خواهد کرد. برای پیاده‌سازی هدف بالا باید فایل جاوا اسکریپت را در صفحه HTML قرار داد که قطعه کد آن به صورت زیر است:





	آموزش رویداد در جاوا اسکریپت- مجله تم آف




  
  

  

اعمال تغییر

در این مثال به صورت مستقیم روی دکمه، نوعی ویژگی به نام onclick

 اضافه خواهد شد. «مقدار ویژگی» (AttributeValue) تابعی به نام changeText()‎

 خواهد بود.





	آموزش رویداد در جاوا اسکریپت- مجله تم آف



	

  

اعمال تغییر

حال نوبت به ساخت فایلی به نام Events.js می‌رسد که در داخل آن تابعی به نام changeText()‎

وجود دارد و این تابع محتوای تگ p

را تغییر می‌دهد و قطعه کد آن هم به صورت زیر است:

// Function to modify the text content of the paragraph
const changeText = () => {
	const p = document.querySelector('p');

	p.textContent = "این متن به وسیله کنترل کننده رویداد داخلی تغییر یافته است";
}

حال اگر فایل «Events.html» اجرا شود، خروجی مانند تصویر زیر خواهد بود:

ایونت در جاوا اسکریپت

حال اگر کاربر روی دکمه اینجا کلیک کنید

 ، کلیک کند، متن از عبارت اعمال تغییر

 به عبارت زیر تغییر خواهد کرد.

کنترل کننده رویداد در جاوا اسکریپت

کنترل کننده رویدادهای درون‌خطی راهی آسان برای فهم و درک Event در جاوا اسکریپت محسوب می‌شوند ولی با این حال بهتر است از آن‌ها فقط در اهداف آموزشی و آزمایشی استفاده کرد. کنترل‌کننده‌های رویداد داخلی جاوا اسکریپت با استایل‎‌های داخلی CSS در داخل عناصر HTML قابل مقایسه هستند.

آموزش سی اس اس – طراحی وب با CSS – مقدماتی
فیلم آموزش سی اس اس – طراحی وب با CSS – مقدماتی در تم آف

کلیک کنید

نگهداری و به‌روزرسانی یک «استایل شیت» (Stylesheet) مجزا از کلاس‌ها بسیار بهتر از ایجاد چندین استایل‌شیت درون‌خطی برای هر عنصر یا کلاس است. همچنین این کار برای کنترل‌کننده‌های رویداد جاوا اسکریپت نیز صدق می‌کند و مدیریت رویدادها در جاوا اسکریپت از یک فایل خاص بهتر از زمانی است که برای هر رویداد فایلی جداگانه وجود داشته باشد.

ویژگی کنترل کننده رویداد در جاوا اسکریپپت

در این بخش، ویژگی کنترل کننده رویداد مورد بررسی قرار خواهد گرفت. ویژگی کنترل کننده رویداد شبیه به کنترل کننده رویداد درون‌خطی است ولی در اینجا به جای اینکه ویژگی‌ها در فایل HTML تنظیم شوند، در فایل جاوا اسکریپت تنظیم خواهند شد.

آموزش اچ تی ام ال – طراحی وب با HTML – مقدماتی
فیلم آموزش اچ تی ام ال – طراحی وب با HTML – مقدماتی در تم آف

کلیک کنید

تنظیمات این بخش با بخش بالا یا همان کنترل کننده رویداد درون‌خطی کاملاً یکسان است ولی با این تفاوت که در ویژگی کنترل کننده رویداد دیگر onclick=”changeText()‎”

 در فایل HTML وجود نخواهد داشت. قطعه کد زیر این مفهوم را بیان می‌کند.





	Events




	

	

این متن تغییر خواهد کرد

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

// Function to modify the text content of the paragraph
const changeText = () => {
	const p = document.querySelector('p');

	p.textContent = "این متن به وسیله ویژگی کنتترل کننده رویداد تغییر یافته است";
}

// Add event handler as a property of the button element
const button = document.querySelector('button');
button.onclick = changeText;

نکته: کنترل‌کننده‌های رویداد از قرارداد «CamelCase» که اکثر کدهای جاوا اسکریپت به آن پایبند هستند، پیروی نمی‌کنند. در این مثال باید توجه داشت که کد onclick

 است نه onClick

  و در نهایت با اجرای فایل HTML خروجی به صورت تصویر زیر خواهد بود.

ویژگی کنترل کننده رویداد در جاوا اسکریپپت

حال اگر کاربر روی دکمه کلیک کند خروجی به صورت تصویر زیر خواهد شد:

آموزش event در جاوا اسکریپت

ویژگی کنترل کننده Event در جاوا اسکریپت قابلیت نگهداری بهتری از کنترل کننده درون‌خطی دارد اما در عین حال با محدودیت‌هایی نیز روبه‌رو است. برای مثال، زمانی که کاربر سعی می‌کند چندین ویژگی onclick

مجزا را تنظیم کند، این مسئله باعث می‌شود که همه آن‌ها به جز آخرین مورد بازنویسی شوند. مثال زیر این موضوع را نشان می‌دهد.

const p = document.querySelector('p');
const button = document.querySelector('button');

const changeText = () => {
	p.textContent = "آیا متن تغییر خواهد کرد؟";
}

const alertText = () => {
	alert('این یک هشدار است');
}

// Events can be overwritten
button.onclick = changeText;
button.onclick = alertText;

در مثال بالا، با کلیک روی دکمه، فقط یک هشدار نشان داده خواهد شد و متن تگ p

 تغییری نخواهد کرد، این موضوع به این دلیل اتفاق می‌افتد که کد alert()

 آخرین کدی بوده که به ویژگی اضافه شده است. خروجی این مثال به صورت زیر خواهد بود:

event ها در جاوا اسکریپت

تا اینجا درباره کنترل کننده رویداد درون‌خطی و ویژگی کنترل کننده رویداد توضیحاتی ارائه شد، در بخش بعدی نوبت به شنونده رویداد خواهد رسید.

شنونده رویداد

شنونه‌های رویداد راه جدیدی برای گوش دادن و پاسخگویی به رویدادهای عناصر در جاوا اسکریپت هستند. متد‎ addEventListener()

 برای گوش دادن به رویداد روی عنصر یا عناصری خاص استفاده می‌شود. این متد دو پارامتر دارد، رویدادی که باید به آن گوش داد و یک تابع «شنونده فراخوانی» (Callback Listener) که هنگام راه‌اندازی Event در جاوا اسکریپت فراخوانی خواهد شد.

آموزش پروژه محور جاوا اسکریپت، CSS و HTML – طراحی صفحه فرود واکنشگرا
فیلم آموزش پروژه محور جاوا اسکریپت، CSS و HTML – طراحی صفحه فرود واکنشگرا در تم آف

کلیک کنید

قطعه کد Html مثال بالا برای شنونده رویداد به صورت زیر خواهد بود:

	...
		
	
		

این متن تغییر خواهد کرد

...

در این مثال نیز همچنان از همان تابع changeText()‎

 مانند گذشته استفاده خواهد شد. همچنین در اینجا متد addEventListener()

باید به دکمه متصل شود. قطعه کد آن به صورت زیر است:

// Function to modify the text content of the paragraph
const changeText = () => {
	const p = document.querySelector('p');

	p.textContent = "این متن با شنونده رویداد تغییر یافته است";
}

// Listen for click event
const button = document.querySelector('button');
button.addEventListener('click', changeText);

باید به این نکته توجه داشت که در دو مورد اول، یعنی کنترل کننده رویداد داخلی و ویژگی کنترل کننده رویداد، رویداد کلیک به نام onclick

 نام‌گذاری شده بود، اما این اینجا onclick

به عنوان onclick

خالی نام‌گذاری می‌شود و عبارت EventListener

 از نام‌گذاری آن حذف می‌شود. با اجرای کد بالا، خروجی به صورت تصویر زیر خواهد بود:

شنونده رویداد در جاوا اسکریپت

شنونده رویداد بسیار شبیه به ویژگی کنترل کننده Event در جاوا اسکریپت است، اما مزیت‌هایی نسبت به آن دارد. برای مثال می‌توان چند شنونده رویداد را روی عنصری تنظیم کرد. مثال زیر این موضوع را نشان می‌دهد:

const p = document.querySelector('p');
const button = document.querySelector('button');

const changeText = () => {
	p.textContent = "آیا این متن تغییر خواهد کرد؟";
}

const alertText = () => {
	alert('این یک هشدار است');
}

// Multiple listeners can be added to the same event and element
button.addEventListener('click', changeText);
button.addEventListener('click', alertText);

در مثال بالا، هر دو رویداد هم‌زمان فعال می‌شوند. این یعنی برخلاف مثال بالاتر، با اجرای این کدها هم هشدار و هم متن تغییر می‌یابد و با کلیک روی دکمه در اختیار کاربران قرار می‌گیرد. در شنونده رویداد معمولاً از «توابع ناشناس» (Anonymous Functions) به‌جای توابع مرجع استفاده می‌کنند. توابع ناشناس توابعی هستند که نامی ندارند.

// An anonymous function on an event listener
button.addEventListener('click', () => {
	p.textContent = "آیا این متن تغییر خواهد کرد؟";
});

همچنین کاربران قادر هستند از تابع removeEventListener()‎

 برای حذف یک یا همه رویدادها از یک عنصر استفاده کنند.

// Remove alert function from button element
button.removeEventListener('click', alertText);

همچنین کاربران می‌توانند از addEventListener()‎

 در سند و شی پنجره نیز استفاده کنند.

نکته: شنوندگان رویداد در حال حاضر رایج‌ترین و بهترین روش برای مدیریت Event در جاوا اسکریپت هستند.

انواع رایج رویداد در جاوا اسکریپت

در بالا سه نوع رویداد در جاوا اسکریپت که شامل کنترل کننده رویداد درون‌خطی، ویژگی کنترل کننده رویداد و شنوده رویداد بود مورد بررسی قرار گرفتند. Event‌ها در جاوا اسکریپت فقط به این موارد بالا محدود نمی‌شوند و موارد بسیار بیشتری برای بررسی وجود دارد که از این بخش به بعد در رابطه با آن‌ها توضیحاتی ارائه خواهد شد.

آموزش مقدماتی کتابخانه ReactJS در جاوا اسکریپت
فیلم آموزش مقدماتی کتابخانه ReactJS در جاوا اسکریپت در تم آف

کلیک کنید

رویداد ماوس در جاوا اسکریپت چیست؟

«رویدادهای ماوس» (Mouse Events) یکی از پرکاربردترین رویدادها در زبان جاوا اسکریپت محسوب می‌شوند. این رویدادها شامل کلیک کردن روی دکمه‌های ماوس یا حرکت دادن نشانگر ماوس در صفحه است. در صفحات لمسی نیز لمس کردن یا ضربه زدن به عناصر موجود در صفحه معادل رویداد ماوس خواهد بود.

رویداد ماوس در جاوا اسکریپت

جدول زیر برای درک نحوه کار رویداد ماوس اهمیت زیادی دارد.

رویداد توضیحات
click

زمانی که ماوس روی دکمه یا عنصری کلیک می‌کند این رویداد فعال خواهد شد.
dblclick

زمانی که روی عنصری دو بار کلیک شود، این رویداد فعال می‌شود.
mouseenter

زمانی که اشاره‌گر ماوس وارد محدوده عنصری می‌شود، این رویداد فعال خواهد شد.
mouseleave

این رویداد زمانی فعال می‌شود که نشانگر ماوس محدوده عنصری را ترک کند.
mousemove

هر زمان که اشاره‌گر ماوس داخل محدوده عنصری قرار گیرید این رویداد فعال خواهد شد.

کلیک نوعی رویداد ترکیبی است که از رویدادهای پایین و بالا بردن ماوس تشکیل شده است که به ترتیب با فشار دادن و رها کردن دکمه ماوس فعال خواهد شد. همچنین استفاده از دو رویداد «Mouseenter» و «Mouseeleave» به صورت پشت سر هم افکتی شناور ایجاد می‌کند که عمل آن تا دوباره قرارگیری ماوس روی آن افکت، ادامه خواهد داشت.

مطلب پیشنهادی:

Event Delegation در جاوا اسکریپت — از صفر تا صد

شروع مطالعه

 

رویداد فرم

همان‌طور که از نام آن پیداست، رویداد فُرم نوعی Event در جاوا اسکریپت برای کار روی فرم‌ها است. برای مثال انتخاب یا عدم انتخاب عناصر ورودی و ارسال فرم‌ها از این نوع Event هستند. جدول زیر برای درک جزئیات بیشتر در مورد این نوع از Eventهای جاوا اسکریپت ضروری است.

رویداد توضیحات
submit

هنگامی فعال خواهد شد که فرمی ارسال شود.
focus

این رویداد زمانی فعال خواهد شد که عنصر مد نظر فوکوس (تمرکز) دریافت کند.
blur

این رویداد زمانی فعال می‌شود که عنصر مد نظر فوکوس را از دست بدهد.

focus

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

رویداد صفحه کلید در جاوا اسکریپت چیست؟

یکی دیگر از انواع Event در جاوا اسکریپت، مربوط به صفحه‌ کلید می‌شود. کلیه اقدامات به وسیله صفحه‌ کلید مانند فشار دادن کلید، رها کردن کلید، نگه‌داشتن کلید و غیره در این دسته قرار می‌گیرند. جدول زیر برای درک نوع Event صفحه کلید در جاوا اسکریپت بسیار مهم است.

رویداد توضیحات
keydown

با فشار دادن کلید فعال خواهد شد.
keyup

با آزاد کردن یا رها کردن کلید فعال خواهد شد.
keypress

با فشار دادن کلید به طور پشت سرهم و مداوم عمل خواهد کرد.

رویدادهای «Keydown» و «Keypress» بسیار شبیه به همدیگر هستند، اما دسترسی یکسانی به همه کلیدهای صفحه کلید ندارند. Keydown برای هر کلیدی به جزء کلیدهایی مانند «SHIFT« ،«ALT» یا «DELETE» که با زدن آن‌ها کاراکتری تولید نمی‌شود، بدون مشکل عمل خواهد کرد.

رویداد صفحه کلید در جاوا اسکریپت

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

  • کلید – key
  • کد – code

برای مثال اگر کاربری حرف «a» را در صفحه کلید بزند، ویژگی‌های مربوط به آن کلید به صورت جدول زیر خواهند بود.

ویژگی توضیحات مثال
key

نشان دهنده نام کاراکتر a
code

نشان دهنده کلید فیزیکی زده شده به وسیله کاربر KeyA

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

// Test the key and code properties
document.addEventListener('keydown', event => {
	console.log('key: ' + event.key);
	console.log('code: ' + event.code);
});

با زدن دکمه «ENTER» در کنسول جاوا اسکریپت، حال می‌توان کلیدی را از صفحه کلید فشار داد. در این مثال کلید «a» زده شده است. خروجی به صورت زیر خواهد بود:

Output
 key: a 
code: KeyA

 

در مثال فوق ویژگی key

 نام کاراکتر است و این ویژگی می‌تواند تغییر کند. برای مثال اگر دکمه «a» با دکمه «SHIFT» زده شود، کلید تغییر کرده و این ویژگی تغییر خواهد کرد. همچنین ویژگی codeنشان دهنده کلید فیزیکی زده شده در صفحه کلید است.

شی رویداد در جاوا اسکریپت

«شی رویداد» (Event Objects) در جاوا اسکریپت متشکل از متدهایی است که همه رویدادها قادر به دسترسی به آن‌ها هستند. علاوه بر «شی رویداد عمومی» (Generic Event Object) همه رویدادهای دیگر نیز پسوندهای خاص خود را دارند. برای مثال «KeyboardEvent» و «MouseEvent» هر دو دارای پسوند خاص خود هستند.

آموزش ویو جی اس – فریم ورک Vue.js در جاوا اسکریپت JavaScript
فیلم آموزش ویو جی اس – فریم ورک Vue.js در جاوا اسکریپت JavaScript در تم آف

کلیک کنید

Event Objects در جاوا اسکریپت به وسیله تابع listener به عنوان پارامتر ارسال می‌شود و معمولاً به صورت « Event

» یا حرف « e

» نوشته خواهد شد. کاربران می‌توانند به ویژگی code

رویداد keydown دسترسی پیدا کنند تا کنترل‌های صفحه‌ کلید را روی مثلاً یک بازی کامپیوتری تکرار یا اعمال کنند.

مطلب پیشنهادی:

شیء (Object) در جاوا اسکریپت — راهنمای کاربردی

شروع مطالعه

 

برای درک این مفهوم مثالی زده خواهد شد. فرض کنیم که یک فایل HTML با تگ P

 وجود دارد که آن را در صفحه مرورگر باز می‌کنیم و قطعه کد آن به صورت زیر است:




    Events



  

حال برای درک قضیه باید در کنسول جاوا اسکریپت دستور زیر اجرا شود:

// Pass an event through to a listener
document.addEventListener('keydown', event => {
	var element = document.querySelector('p');

	// Set variables for keydown codes
	var a = 'KeyA';
	var s = 'KeyS';
	var d = 'KeyD';
	var w = 'KeyW';

	// Set a direction for each code
	switch (event.code) {
		case a:
			element.textContent = 'Left';
			break;
		case s:
			element.textContent = 'Down';
			break;
		case d:
			element.textContent = 'Right';
			break;
		case w:
			element.textContent = 'Up';
			break;
	}
});

حال هنگامی که یکی از کلیدهای «a» ،«s» ،«d» یا «w» زده شود، خروجی مشابه تصویر زیر خواهد بود:

آموزش رویداد در جاوا اسکریپت

event.target در جاوا اسکریپت

در این بخش از آموزش Event در جاوا اسکریپت ویژگی Target که یکی از پرکاربرترین ویژگی‌های رویداد در جاوا اسکریپت است بررسی خواهد شد.

آموزش مقدماتی نود جی اس Node.js
فیلم آموزش مقدماتی نود جی اس Node.js در تم آف

کلیک کنید

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

 زیر سه عنصر div

 وجود دارند.




    Events



  
One
Two
Three

با استفاده از Event.target

 در کنسول جاوا اسکریپت کاربران قادر خواهند بود که شنونده رویداد را روی عناصر بخش خارجی قرار دهند و به عناصر تودرتو دسترسی ایجاد کنند.

const section = document.querySelector('section');

// Print the selected target
section.addEventListener('click', event => {
	console.log(event.target);
});

اگر کاربر روی هرکدام از عناصر خروجی کلیک کند، عنصر خاص مربوطه با استفاده از Event.target

به کنسول بازگردانده خواهد شد. این ویژگی بسیار حائز اهمیت است زیرا به توسعه‌دهندگان کمک می‌کند که تنها با یک شنونده رویداد به بسیاری از عناصر تودرتو دسترسی ایجاد کنند. خروجی این کار به صورت تصویر زیر خواهد بود:

آموزش انواع ایونت در جاوا اسکریپت

با شی Event در جاوا اسکریپت کاربران قادر خواهند بود که پاسخ‌های مربوط به همه رویدادها، از جمله رویدادهای عمومی و رویدادهای خاص را تنظیم کنند.

مجموعه آموزش جاوا اسکریپت (JavaScript)
فیلم مجموعه آموزش جاوا اسکریپت (JavaScript) در تم آف

کلیک کنید

سخن پایانی

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

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

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

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.