این آموزش در تاریخ ۱۴۰۱/۰۳/۲۳ آپدیت شده است.

کار با رویدادها یا Events در جاوااسکریپت

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

کار با رویدادها یا Events در جاوااسکریپت

Free-Learn

کار با رویدادها یا Events در جاوااسکریپت

خب اصلا این رویدادها یعنی چی؟ ببینید دوستان ما یسری صفات در زبان HTML داریم که بهشون میگن رویداد یا Event ( یا یه چیزی که میتونه اتفاق بیوفته )

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

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

بفرض مثال من میخوام وقتی روی یه دکمه کلیک شد ، یه پیغام به من نشون بده و بگه سلام ، خب ما اینجا ۲ چیز نیاز داریم :

  • خوده صفت رویداد ( که حالا یا با زبان HTML یا جاوااسکریپت ایجاد میشه )
  • اون واکنشی که قراره توسط رویداد اجرا بشه ( با زبان جاوااسکریپت نوشته میشه )

مثال : وقتی بروی دکمه کلیک شد ، پیغام نشون میده ( سلام خوبی؟ )

امتحان کنید

توضیح مثال بالا :

خب در مثال بالا ما گفتیم آقا وقتی بروی دکمه کلید شد، شما یه پیغام به ما نشون بده

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

و در نهایت اون چیزی که درون این رویداد نوشته شده دستورات جاوااسکریپت می باشد برای ایجاد یه اتفاق ( واکنش به رویداد ) که اون دستور alert هم مال زبان جاوااسکریپت هست. ( برای نمایش یک باکس پیغام )

 

مثال شماره ۲ : وقتی صفحه لود شد، پیغام بده سلام خوبی؟

امتحان کنید

توضیح مثال بالا :

در مثال بالا از رویداد onload استفاده کردیم، این رویداد اسمشم روشه یعنی ( لحظه ی لود شدن یا بالا اومدن ) ( مثلا ما در تگ body استفاده کردیم یعنی موقع لود شدن / بالا اومدن صفحه ) تموم شد رفت.

Free-Learn

نحوه ایجاد یک رویداد در عناصر HTML

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

چندین روش برای تعریف رویدادها در تگ ها وجود داره که این روش ها بصورت زیر می باشند :

  • روش اول » استفاده مستقیم از رویدادها در خوده تگ های HTML ( همانند مثال زیر )

یعنی بصورت دستی خودمون رویداد رو میزاریم داخل عنصر مورد نظرمون ، برای مثال در دستور زیر از رویداد onclick ( یعنی وقتی کلیک شد روش ) در یک دکمه استفاده کردیم.

امتحان کنید

  • روش دوم » تعریف رویداد از طریق جاوااسکریپت ( روش اول )

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

امتحان کنید

  • روش سوم » تعریف رویداد از طریق جاوااسکریپت ( روش دوم )

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

امتحان کنید

Free-Learn

برخی از رویدادهای پرکاربرد HTML

همونطور که دیدید در مثال های بالا من از رویدادهای onclick و onload استفاده کردم، خب این فقط ۲تا از رویدادها بودش .

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

پیشنهاد میکنم لیست کامل رویدادهای عمومی زبان HTML را مشاهده نمایید.

نام رویداد توضیح
onclick وقتی روی چیزی کلیک شد
onchange وقتی محتوای یه چیزی تغییر کنه
onmouseover وقتی ماوس میره روی یه چیزی
onmouseout وقتی ماوس از روی چیزی خارج شه
onkeydown وقتی یه دکمه از صفحه کلید فشار داده بشه
onload وقتی صفحه بطور کامل لود بشه

Free-Learn

مثال های بیشتر

در ادامه میخوام چندین مثال کاربردی باهمدیگه در رابطه با رویدادها در جاوااسکریپت داشته باشیم، لطفا در ادامه با من همراه باشید.

مثال شماره ۱ : استفاده از رویداد OnMouseOver ( میخوایم وقتی ماوس رفت روی تصویر، تصویر عوض شه )

امتحان کنید

مثال شماره ۲ : استفاده از رویداد onchange ( برای وقتی محتوای یه عنصر تغییر کند )

امتحان کنید

مثال شماره ۳ : استفاده از رویداد onsubmit ( برای وقتی بروی دکمه submit یا دکمه ارسال در فرم کلیک شود ) – میخوایم کاری کنیم که اگه فیلدهای موجود در فرم خالی بودن یه پیغام بده و بگه باید فیلد تکمیل شود.

امتحان کنید

Free-Learn

دریافت PDF یا پرینت این مطلب