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

یک رویداد چیست؟

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

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

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

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

لطفاً این آموزش کوچک را برای درک بهتر مراجعه کنید: مرجع رویداد HTML.

Event Handler ها

Event Handler ها می‌تواند به عنوان یک ویژگی از عنصر اچ‌تی‌ام‌ال استفاده شود. این ویژگی کد جاوااسکریپت درون خطی یا اجرای تابع به عنوان یک مقدار را می‌پذیرد.

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

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

سینتکس

کاربران می‌توانند از سینتکس زیر برای استفاده از دستگیره‌های رویداد با عناصر اچ‌تی‌ام‌ال پیروی کنند:
<div eventHandler = "JavaScript_code"> </div>
در سینتکس فوق، باید ‘eventHandler’ را با event رویداد واقعی مانند ‘onclick’، ‘onmouseover’ و غیره جایگزین کنید. ‘JavaScript_code’ باید تابع را اجرا کند یا کد جاوااسکریپت را درون خط اجرا کند.

مثال : Inline JavaScript با Event Handler ها

در کد زیر، عنصر <button> را ایجاد کرده‌ایم. همچنین، از ‘onclick’ برای تعقیب کردن رویداد کلیک بر روی دکمه استفاده کرده‌ایم. ما کد جاوااسکریپت درون خط (Inline JavaScript) را برای کنترل رویداد (Event Handler) نوشته‌ایم. در کد جاوااسکریپت درون خط، کلمه کلیدی ‘this’ عنصر <button> را نمایان می‌کند و ما رنگ متن دکمه را به قرمز تغییر می‌دهیم.
<html>
<body>
   <h2>برای تغییر رنگ متن دکمه، بر روی آن کلیک کنید</h2>
   <button onclick="this.style.color='red'"> کلیک کنید </button>
   <div id="output"> </div>
</body>
</html>

مثال: Function با Event Handler ها

در کد زیر، عنصر <div> را ایجاد کرده‌ایم و سبک آن را در بخش <head> تنظیم کرده‌ایم. از رویداد ‘onclick’ با عنصر <button> استفاده کرده‌ایم که وقتی کاربر روی دکمه کلیک می‌کند، تابع handleClick() را فراخوانی می‌کند. تابع handleClick() پارامتر ‘event’ را به عنوان ورودی می‌گیرد. در تابع handleClick()، با استفاده از جاوااسکریپت، رنگ پس‌زمینه عنصر <div> را تغییر می‌دهیم.
<html>
<head>
   <style>
      #test {
         width: 600px;
         height: 100px;
         background-color: red;
      }
   </style>
</head>
<body>
   <div id="test"> </div> <br>
   <button onclick="handleClick()"> تغییر رنگ Div </button>
   <script>
      function handleClick(event) {
         var div = document.getElementById("test");
         div.style.backgroundColor = "blue";
      }
   </script>
</body>
</html>

مثال: Multiple Functions با Event Handler ها

در کد زیر، دستگیره رویداد ‘onmouseenter’ را با عنصر <div> اضافه کرده‌ایم. وقتی کاربر موس را روی عنصر <div> قرار می‌دهد، توابع changeFontSize() و changeColor() را فراخوانی می‌کنیم. تابع changeFontSize() اندازه متن را تغییر می‌دهد و تابع changeColor() رنگ متن را تغییر می‌دهد. اینطور، می‌توانید چندین تابع را بر روی رویداد خاص فراخوانی کنید.
<html>
<head>
   <style>
      #test {
         font-size: 15px;
      }
   </style>
</head>
<body>
   <h2>برای سفارشی‌سازی فونت روی متن زیر موس را حرکت دهید.</h2>
   <div id="test" onmouseenter="changeFontSize(); changeColor();"> Hello World! </div> <br>
   <script>
      function changeFontSize(event) {
         document.getElementById("test").style.fontSize = "25px";
      }
      function changeColor(event) {
         document.getElementById("test").style.color = "red";
      }
   </script>
</body>
</html>

Event Object ها

تابعی که رویداد را پردازش می‌کند، شیء ‘event’ را به عنوان پارامتر دریافت می‌کند. شیء ‘event’ شامل اطلاعات مربوط به رویداد و عنصری است که روی آن رویداد رخ داده است.

همچنین ویژگی‌ها و متدهای مختلفی نیز وجود دارند که می‌توانید از آن‌ها با شیء رویداد برای گرفتن اطلاعات استفاده کنید.

در زیر فهرستی از انواع مختلف شیء رویداد آمده است. هر شیء رویداد شامل رویدادها، متدها و ویژگی‌های مختلفی است.

شیء/نوع مدیریت
AnimationEvent با انیمیشن‌های CSS سر و کار دارد.
ClipboardEvent تغییرات کلیپ‌بورد را پردازش می‌کند.
DragEvent رویدادهای کشیدن و رها سازی را پردازش می‌کند.
FocusEvent برای مدیریت رویدادهای فوکوس استفاده می‌شود.
HashChangeEvent تغییرات بخش انکر آدرس URL را پردازش می‌کند.
InputEvent برای مدیریت ورودی‌های فرم استفاده می‌شود.
KeyboardEvent برای مدیریت تعاملات صفحه‌کلید توسط کاربران استفاده می‌شود.
MediaEvent رویدادهای مرتبط با رسانه را پردازش می‌کند.
MouseEvent برای مدیریت تعاملات موس توسط کاربران استفاده می‌شود.
PageTransitionEvent برای مدیریت ناوبری بین صفحات وب استفاده می‌شود.
PopStateEvent تغییرات در تاریخچه صفحه را پردازش می‌کند.
ProgressEvent برای مدیریت پیشرفت بارگیری فایل استفاده می‌شود.
StorageEvent تغییرات در ذخیره سازی وب را پردازش می‌کند.
TouchEvent برای مدیریت تعامل لمسی روی صفحه دستگاه استفاده می‌شود.
TransitionEvent برای مدیریت انتقال CSS استفاده می‌شود.
UiEvent برای مدیریت تعامل رابط کاربری توسط کاربران استفاده می‌شود.
WheelEvent برای مدیریت تعامل چرخ‌دنده موس توسط کاربران استفاده می‌شود.

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
Python - محدود کردن داده (MongoDB Limit)

Python – محدود کردن داده (MongoDB Limit)

Python MongoDB محدود کردن نتایج برای محدود کردن نتایج در MongoDB، از متد limit() استفاده می‌کنیم. متد limit() یک...

بیشتر بخوانید
Python - بروزرسانی (MongoDB Update)

Python – بروزرسانی (MongoDB Update)

به‌روزرسانی یک رکورد برای به‌روزرسانی یک رکورد یا سند در MongoDB، از متد update_one() استفاده می‌کنیم. پارامتر اول متد...

بیشتر بخوانید
Python - حذف کالکشن (MongoDB Drop Collection)

Python – حذف کالکشن (MongoDB Drop Collection)

حذف کالکشن شما می‌توانید یک جدول یا کالکشن در MongoDB را با استفاده از متد drop() حذف کنید. مثالحذف...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.