English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

طرق الأحداث jQuery

الأحداث هي العمليات التي يمكن للبرامج الويب اكتشافها.

يقدم jQuery طريقة بسيطة لربط معالج الحدث مع العناصر المختارة.

سيتم تنفيذ الوظيفة المقدمة عند تحدث الحدث.

هذه هي أمثلة الأحداث:

  • تحميل الصفحة

  • نقر على العنصر

  • تحريك الفأرة فوق العنصر

  • إرسال استمارة HTML

  • الضغط على الأزرار على لوحة المفاتيح

نحوجية jQuery للأحداث

في 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"});
}
اختبار لمعرفة‹/›

طرق الأحداث jQuery الشائعة

$(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");
});
اختبار لمعرفة‹/›

طريقة "on()"

يقدم 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

للحصول على مرجع كامل للأحداث، يرجى زيارةدليل مرجعي أحداث jQuery.