إدارة الأحداث
إدارة الأحداث
إدارة الأحداث درس مجاني في jQuery Academy على CoddyKit. هذا هو الدرس 1 من أصل 1. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في jQuery Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة jQuery Academy 1 دروس في المجموع.
مقدمة
مرحبًا،
عند تقديم jQuery، قلنا إنها لا تقتصر فقط على معالجة DOM، بل توفر أيضًا ميزة مهمة مثل إدارة الأحداث.
ما الحدث؟
أولًا، لنتعلم ما هو الحدث.
تُنشأ الأحداث غالبًا بواسطة المستخدم في متصفح الويب.
يمكننا تعريف العديد من الأحداث الناتجة عن المستخدم، مثل لمس مستخدمي الأجهزة المحمولة للشاشة، وتحريك مستخدمي الويب للماوس، والنقر على زر، وتمرير عجلة الماوس.
وبما أن Javascript لغة برمجة، فسندير تدفق برنامجنا وفقًا للأحداث التي تقع.
النقر
طريقة click()
لنبدأ بأبسط حدث، وهو حدث النقر على الزر.
تُستخدم طريقة click() لإدارة أحداث النقر في HTML.
يمكننا الاستماع إلى حدث النقر باستخدام الصياغة أدناه.
$(selector).click(handler);
- باستخدام $(selector) نختار العنصر الذي نريد الاستماع إليه.
- يمثل handler دالة الاستدعاء التي ستُشغّل عند النقر.
لننشئ مثالًا.
<button>Button</button>
<script>
/* Callback will run as son as
the DOM is loaded
*/
$(document).ready(function(){
$('button').click(function(){
alert('Button clicked');
});
})
</script>تحذير
تتعامل طريقة Click مع النقر على الزر باستخدام الدالة المجهولة التي تتلقاها كوسيط.
النقر المزدوج
أحداث الماوس
فيما يلي بعض الأحداث التي يمكن للمستخدم إنشاؤها باستخدام الماوس.
لننقر على الزر!
<button>Coddy Button</button>
<script>
// runs when button is click
$("button").click(function(){
$('button').text('Clicked')
});
// runs when button is double click
$("button").dblclick(function(){
$('button').text('Double Clicked')
});
</script>أحداث الماوس
لاحظوا أنه لا يمكن اختبار بعض الأحداث في تطبيق الهاتف المحمول، فأحداث مثل التحويم لا يمكن تنفيذها على الأجهزة المحمولة!
<button>Coddy Button</button>
<script>
/* It runs when the mouse
hovers over the button
*/
$("button").hover(function(){
$('button').text('Hovering...')
});
/*
It runs when the mouse
enters an element
*/
$("button").mouseenter(function(){
$('button').text('Mouse enter...')
});
/*
It runs when the mouse leaves
an element
*/
$("button").mouseleave(function(){
$('button').text('Mouse Leave...')
});
</script>أحداث لوحة المفاتيح
أحداث لوحة المفاتيح
سنتعلم الآن كيفية التعامل مع أحداث لوحة المفاتيح.
أولًا، لنعرّف حقل إدخال، ثم نتعامل مع الأحداث التي سينشئها هذا الحقل.
<input type="text" id="name"
name="yourname"
placeholder="Enter your name" />
<p>Keyboard event: <span id="state"></span></p>
<script>
/*
Callback will run as son as
the DOM is loaded
*/
$(document).ready(function(){
/*
It runs every time we press
the keyboard key on the keyboard.
*/
$('#name').keydown(function(){
$('#state').text('Key down')
});
/*
It runs when we take our finger
off the keyboard key
*/
$('#name').keyup(function(){
$('#state').text('Key up')
});
// Runs when the user focuses on input.
$('#name').focus(function(){
$('#state').text('Focus')
});
/*
It works when we unfocus
from an input on the keyboard.
*/
$('#name').blur(function(){
$('#state').text('Blur')
});
})
</script>أحداث النموذج
باستخدام jQuery، يمكننا أيضًا إدارة الأحداث التي تقع في النماذج.
تُعد سلوكيات مثل إدخال البيانات في حقل إدخال أو إجراء اختيار من مربع select من أحداث النموذج.
مثال على أحداث النموذج
في الشيفرة أدناه، نعرض مثالًا على أكثر من حدث واحد من أحداث النموذج.
*
listen to the form with the coddyForm
id and run when submit button clicked
*/
$("#coddyForm").submit(
function(event){
});أحداث النافذة
أخيرًا، لنلقِ نظرة على أحداث النافذة.
ربما يكون أهم حدث للنافذة هو $(document).ready()، ولكن بما أننا تعلمنا هذا الحدث سابقًا، فسنتعلم أحداثًا أخرى للنافذة.
طريقة resize
طريقة resize()
ترتبط طريقة resize بكائن نافذة المتصفح، ويتم تشغيلها عند تغيّر حجم النافذة.
const window = {};
const $ = (obj) => ({
resize: (callback) => {
console.log("Resize event handler would be attached here.");
}
});
$(window).resize(function() {
//trigging when user change windows size
});طريقة scroll
طريقة scroll()
ترتبط طريقة scroll() بعنصر قابل للتمرير أو بكائن النافذة، ويتم تشغيلها عندما يمرر المستخدم المكوّن المعني.
$(window).scroll(function() {
//Calling when user scroll the window
});
$('#my-scrollable-element').scroll(function() {
//Calling when user scroll the cursor
//that inside the #my-scrollable-element element
});تهانينا
تهانينا 🎉
لقد تعلمنا إدارة الأحداث في jQuery.
في القسم التالي، سنتعلم درس إنشاء الرسوم المتحركة باستخدام jQuery.

الأسئلة الشائعة
هل درس «إدارة الأحداث» مجاني؟
نعم — نص درس «إدارة الأحداث» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة jQuery Academy، انتقل إلى CoddyKit PRO. تتضمن دورة jQuery Academy 1 دروس في المجموع.
ماذا ستتعلم في «إدارة الأحداث»؟
إدارة الأحداث تتمرن على jQuery Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ jQuery Academy؟
لا تُشترط خبرة سابقة. jQuery Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 1.
كم من الوقت يستغرق درس «إدارة الأحداث»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس jQuery Academy هذا؟
نعم. كل درس في jQuery Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.