English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
الأحداث هي العمليات التي يمكن للبرامج الويب اكتشافها.
يقدم jQuery طريقة بسيطة لربط معالج الحدث مع العناصر المختارة.
سيتم تنفيذ الوظيفة المقدمة عند تحدث الحدث.
هذه هي أمثلة الأحداث:
تحميل الصفحة
نقر على العنصر
تحريك الفأرة فوق العنصر
إرسال استمارة HTML
الضغط على الأزرار على لوحة المفاتيح
في jQuery، معظم أحداث DOM لها طرق jQuery مكافئة.
لإضافة حدث النقر إلى جميع الفقرات في الصفحة، قم بتنفيذ ما يلي:
$("p").click();
الخطوة التالية هي تحديد ما يجب حدوثه عند تحدث الحدث. يجب تقديم وظيفة إلى الحدث:
$("p").click(function(){ // ... الحركة التي يجب تنفيذها ... });
في هذا المثال، سيتم إخفاء الفقرة عند النقر على الصفحة:
$("p").click(function(){ $(this).hide(); });اختبار لمعرفة‹/›
في هذا المثال، سيتم إضافة وظيفة "changeSize" إلى حدث النقر:
$(document).ready(function(){ $("p").click(changeSize); }); function changeSize() { $(this).animate({fontSize: "+=5px"}); }اختبار لمعرفة‹/›
$(document).ready()
jQuery $(document).ready()يحدد هذا الطريقة ما يجب تنفيذه عند تحميل DOM بالكامل.
في هذا المثال، سيتم عرض رسالة عند تحميل DOM:
$(document).ready(function(){ الآن تم تحميل DOM، يمكنه تنفيذ العمليات. });اختبار لمعرفة‹/›
click()}}
jQuery click()}}يضيف معالج أحداث الدالة إلى العنصر المحدد.
سيتم تنفيذ هذه الدالة عند ضغط المستخدم على العنصر:
$("p").click(function(){ $(this).css({"background-color":"#007FFF", "color":"white"}); });اختبار لمعرفة‹/›
mouseenter()
jQuery mouseenter()يضيف معالج أحداث الدالة إلى العنصر المحدد.
سيتم تنفيذ هذه الدالة عند دخول مؤشر الفأرة إلى العنصر:
$("p").mouseenter(function(){ $(this).css("background-color", "yellow"); });اختبار لمعرفة‹/›
mouseleave()
jQuery mouseleave()يضيف معالج أحداث الدالة إلى العنصر المحدد.
سيتم تنفيذ هذه الدالة عند مغادرة مؤشر الفأرة العنصر:
$("p").mouseleave(function(){ $(this).css("background-color", "lightblue"); });اختبار لمعرفة‹/›
mousedown()
jQuery mousedown()يضيف معالج أحداث الدالة إلى العنصر المحدد.
سيتم تنفيذ هذه الدالة عند ضغط المستخدم على مفتاح الفأرة في العنصر:
$("p").mousedown(function(){ $(this).after("<p style='color:red;'>ضغط مفتاح الفأرة</p>"); });اختبار لمعرفة‹/›
mouseup()
jQuery mouseup()يضيف معالج أحداث الدالة إلى العنصر المحدد.
سيتم تنفيذ هذه الدالة عند إطلاق مفتاح الفأرة عند وضعها على العنصر:
$("p").mouseup(function(){ $(this).after("<p style='color:green;'>إطلاق مفتاح الفأرة</p>"); });اختبار لمعرفة‹/›
keydown()
jQuery keydown()يضيف معالج أحداث الدالة إلى العنصر المحدد.
سيتم تنفيذ هذه الدالة عند ضغط المستخدم على مفتاح مفاتيح لوحة المفاتيح:
$("input").keydown(function(event){ $(this).css("background-color", "yellow"); $("span").text(event.type); });اختبار لمعرفة‹/›
keyup()
jQuery keyup()يضيف معالج أحداث الدالة إلى العنصر المحدد.
سيتم تنفيذ هذه الدالة عند انسلاك المستخدم من مفتاح مفاتيح لوحة المفاتيح:
$("input").keyup(function(event){ $(this).css("background-color", "lightblue"); $("span").text(event.type); });اختبار لمعرفة‹/›
hover()
jQuery hover()يحتوي الطريقة على اثنين من الدوال، وهيmouseenter()وmouseleave()مجموعات الطرق.
التشبيه التالي سيقوم بتعيين لون الخلفية عند وضع المؤشر فوق جميع<p>لون الخلفية للعنصر:
$("p").hover(function(){ $(this).css("background-color", "yellow"); }, function(){ $(this).css("background-color", "lightblue"); });اختبار لمعرفة‹/›
يقدم jQueryالطريقةطريقة واحدة للرد على أي أحداث تحدث على العنصر المحدد.
استخدامالطريقةيمكننا إضافة عدة معالجات أحداث إلى العنصر المحدد.
التشبيه التالي سيقوم بتعيين حدث "click" على جميع<p>العنصر:
$("p").on("click", function(){ $(this).css("background-color", "coral"); });اختبار لمعرفة‹/›
في هذا المثال، يتم إضافة حدث mouseenter إلى جميع<p>العنصر:
$("p").on("mouseenter", function(){ $(this).css("background-color", "coral"); });اختبار لمعرفة‹/›
في هذا المثال، يتم إضافة عدة معالجات أحداث إلى<div>العنصر:
$("div").on("mouseenter mouseleave click", function(){ $(this).text(Math.random()); });اختبار لمعرفة‹/›
jQuery الطريقة الطريقةالطريقةعندما يتم إضافة معالج الحدث المحدد في الطريقة
السؤال من<div>إزالة حدث mousemove من العنصر:
$("button").click(function(){ $("div").off("mousemove"); });اختبار لمعرفة‹/›
يُعتمد نظام أحداث jQuery وفقًا للمواصفات القياسية لـ W3C على جسم الحدث.
تأكد من نقل جسم الحدث إلى معالج الحدث.
كل معالج حدث يتلقى جسم الحدث الذي يحتوي على العديد من الخصائص والطرق.
$("div").on("click", function(event){ alert("نوع الحدث هو " + event.type); alert("الهدف: " + event.target.innerHTML); });اختبار لمعرفة‹/›
يظهر الجدول أدناه جميع طرق جسم الحدث Özel وخصائصها:
طريقة/خاصية | وصف |
---|---|
event.currentTarget | عنصر DOM الحالي في مرحلة انتقال الحدث |
event.data | تحتوي على بيانات اختيارية تم نقلها إلى طريقة الحدث عند تنفيذ المعالج |
event.delegateTarget | عودة العنصر الذي تم إضافة jQuery معالج الحدث الحالي |
event.isDefaultPrevented() | عودة ما إذا كانevent.preventDefault()تُدعى لهذا الجسم الحدث |
event.isImmediatePropagationStopped() | عودة ما إذا كانevent.stopImmediatePropagation()تُدعى لهذا الجسم الحدث |
event.isPropagationStopped() | عودة ما إذا كانevent.stopPropagation()تُدعى لهذا الجسم الحدث |
event.metakey | تعبر عن ما إذا كان مفتاح META قد تم الضغط عليه عند التفعيل الحدث |
event.namespace | عودة المساحة الاسمية المحددة للحدث |
event.pageX | عودة موقع الفأرة بالنسبة للجانب الأيسر من المستند |
event.pageY | الرجوع إلى موقع الماوس بالنسبة إلى الحافة العلوية للورقة |
event.preventDefault() | منع المتصفح من تنفيذ العملية الافتراضية للعنصر المحدد |
event.relatedTarget | الرجوع إلى العنصر الذي يتم إدخال أو الخروج منه عند تحريك الماوس |
event.result | تضمين أحدث/أقدم قيمة مطلوبة من معالج أحداث مسبق مسبقًا |
event.stopImmediatePropagation() | منع تنفيذ أي معالج أحداث آخر |
event.stopPropagation() | منع تمرير الحدث عبر شجرة DOM، ومنع أي معالج والدي من الاستقبال إشعار هذا الحدث |
event.target | الرجوع إلى العنصر DOM الذي تم تفعيل الحدث |
event.timeStamp | الرجوع إلى الوقت الذي تم إنشاء الحدث (بالميليسيوندات مقارنة بالبداية) |
event.type | الرجوع إلى نوع الحدث الذي تم تفعيله |
event.which | الرجوع إلى المفتاح المضغط على لوحة المفاتيح أو زر الماوس |
للحصول على مرجع كامل للأحداث، يرجى زيارةدليل مرجعي أحداث jQuery.