JavaScript.info - Events
الأحداث في JavaScript: دليل شامل للمبتدئين
الأحداث (Events) هي جزء أساسي من برمجة الويب التفاعلية باستخدام JavaScript. إنها تسمح لصفحات الويب بالاستجابة لتفاعلات المستخدم – مثل النقر على زر، تحريك الماوس، أو إكمال تحميل الصفحة – أو حتى لتغييرات داخلية في المتصفح. فهم الأحداث أمر بالغ الأهمية لبناء تطبيقات ويب ديناميكية وجذابة. هذا المقال يهدف إلى تقديم شرح مفصل للأحداث في JavaScript، مع التركيز على المفاهيم الأساسية وكيفية استخدامها.
ما هي الأحداث؟
ببساطة، الحدث هو شيء يحدث. في سياق الويب، يمكن أن يكون هذا الحدث أي شيء يثير استجابة من المتصفح. بعض الأمثلة الشائعة تشمل:
- حدث النقر (click): يحدث عندما ينقر المستخدم على عنصر.
- حدث التحميل (load): يحدث عندما يتم تحميل مورد (مثل صورة أو الصفحة بأكملها).
- حدث تغيير القيمة (change): يحدث عندما تغير قيمة عنصر إدخال (input).
- حدث التمرير (scroll): يحدث عندما يقوم المستخدم بالتمرير عبر الصفحة.
- حدث الإرسال (submit): يحدث عند إرسال نموذج (form).
أنواع الأحداث
يمكن تصنيف الأحداث إلى عدة أنواع رئيسية:
- أحداث واجهة المستخدم (UI Events): تتعلق بتفاعلات المستخدم مع واجهة المستخدم، مثل النقر، التحريك، الضغط على مفتاح.
- أحداث الماوس (Mouse Events): تركز على تفاعلات الماوس، مثل `mousemove`، `mousedown`، `mouseup`، `click`، `dblclick`.
- أحداث لوحة المفاتيح (Keyboard Events): تتعلق بضغطات المفاتيح، مثل `keydown`، `keyup`، `keypress`.
- أحداث النموذج (Form Events): تحدث في سياق النماذج، مثل `submit`، `focus`، `blur`، `change`.
- أحداث النافذة (Window Events): تحدث على مستوى النافذة أو المتصفح، مثل `load`، `resize`، `scroll`.
- أحداث السحب والإفلات (Drag and Drop Events): تسمح بتنفيذ عمليات السحب والإفلات.
معالجة الأحداث (Event Handling)
معالجة الأحداث هي عملية الاستماع إلى حدوث حدث وتنفيذ كود JavaScript استجابة له. هناك عدة طرق لمعالجة الأحداث:
- الخصائص المباشرة (Inline Event Handlers): تحديد معالج الحدث مباشرة في علامة HTML. هذه الطريقة غير مستحسنة بسبب خلط الكود والـ HTML. مثال: `<button onclick="myFunction()">Click me</button>`
- خصائص DOM (DOM Event Properties): تعيين معالج الحدث كخاصية لعنصر DOM باستخدام JavaScript. مثال: `element.onclick = myFunction;`
- `addEventListener()`: الطريقة الأكثر مرونة وموصى بها. تسمح بتعيين عدة معالجات لنفس الحدث، وتوفر تحكمًا أفضل في ترتيب التنفيذ. مثال: `element.addEventListener('click', myFunction);`
- `removeEventListener()`: لإزالة معالج حدث تم تعيينه باستخدام `addEventListener()`.
كائن الحدث (Event Object)
عندما يحدث حدث، يتم إنشاء كائن حدث (Event Object) يحتوي على معلومات حول الحدث. يمكن الوصول إلى هذا الكائن داخل معالج الحدث. بعض الخصائص الشائعة لكائن الحدث تشمل:
- `type` : نوع الحدث (مثل "click" أو "keydown").
- `target` : العنصر الذي أثار الحدث.
- `currentTarget` : العنصر الذي تم ربط معالج الحدث به.
- `preventDefault()` : يمنع السلوك الافتراضي للحدث (مثل منع إرسال نموذج).
- `stopPropagation()` : يمنع انتشار الحدث إلى العناصر الأصلية.
انتشار الأحداث (Event Propagation)
عندما يحدث حدث على عنصر، فإنه يمر بمرحلتين من الانتشار:
- التدفق (Bubbling): ينتقل الحدث من العنصر الذي أثاره إلى العناصر الأصلية.
- التقاط (Capturing): ينتقل الحدث من العناصر الأصلية إلى العنصر الذي أثاره (أقل استخدامًا).
يمكن استخدام `stopPropagation()` لمنع انتشار الحدث.
أمثلة عملية
لنفترض أن لدينا زرًا ونريد عرض رسالة تنبيه عند النقر عليه:
```javascript const button = document.getElementById('myButton');
button.addEventListener('click', function(event) {
alert('تم النقر على الزر!'); console.log(event.target); // يعرض العنصر الذي تم النقر عليه
}); ```
الأحداث المخصصة (Custom Events)
يمكنك إنشاء أحداث مخصصة وإطلاقها في تطبيقك. هذا مفيد لتنفيذ التواصل بين المكونات المختلفة.
```javascript const myEvent = new Event('myCustomEvent'); element.dispatchEvent(myEvent);
element.addEventListener('myCustomEvent', function(event) {
console.log('حدث مخصص تم إطلاقه!');
}); ```
أهمية الأحداث في سياق تداول الخيارات الثنائية
على الرغم من أن الأحداث لا ترتبط بشكل مباشر بتداول الخيارات الثنائية، إلا أنها ضرورية لبناء واجهات مستخدم تفاعلية لتطبيقات التداول. على سبيل المثال، يمكن استخدام الأحداث لتحديث الرسوم البيانية في الوقت الفعلي استجابة لتغيرات الأسعار، أو لتنفيذ أوامر التداول عند النقر على زر. فهم الأحداث يساعد في إنشاء تجربة تداول أكثر سلاسة وفعالية.
استراتيجيات التداول والتحليل الفني
لفهم أفضل للأسواق المالية، إليك بعض الروابط لمواضيع ذات صلة:
- استراتيجية المتوسط المتحرك
- استراتيجية MACD
- استراتيجية RSI
- استراتيجية بولينجر باند
- استراتيجية الاختراق
- تحليل الشموع اليابانية
- تحليل فيبوناتشي
- تحليل حجم التداول
- نموذج الرأس والكتفين
- نموذج القمة المزدوجة
- استراتيجية سكالبينج
- استراتيجية التداول اليومي
- استراتيجية التداول المتأرجح
- تحليل التجميع والتوزيع
- إدارة المخاطر في تداول الخيارات الثنائية
- تحليل العرض والطلب
- مؤشر ستوكاستيك
- مؤشر القوة النسبية (RSI)
- مؤشر ADX
- تحليل الدعم والمقاومة
مصادر إضافية
JavaScript DOM Event Object Event Propagation addEventListener removeEventListener Inline Event Handlers UI Events Mouse Events Keyboard Events Form Events Window Events Drag and Drop Events تداول الخيارات الثنائية التحليل الفني إدارة المخاطر استراتيجيات التداول مؤشرات التداول الرسوم البيانية التحليل الأساسي التحليل الكمي التحليل الموجي إليوت التداول الخوارزمي التحليل النفسي للسوق أنواع الأصول المالية الرافعة المالية
ابدأ التداول الآن
سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين