التابع ‎.error()‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQuery

من موسوعة حسوب

‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎.error( handler )‎

القيمة المعادة

يُعيد كائنًا من النوع jQuery.

أُهمل مع الإصدار: 1.8، وأُزيل مع الإصدار: 3.0.

الوصف

ربط معالج الحدث بحدث الخطأ "error" في JavaScript.

error( handler )‎

أُضيف مع الإصدار: 1.0.

handler

دالة تنفذ عند تشغيل الحدث وهي على الشكل Function( Event eventObject )‎.

‎.error( [eventData ], handler )‎

أُضيف مع الإصدار: 1.4.3.

eventData

كائن يحتوي على البيانات التي ستُمرر إلى معالج الحدث، ويمكن أن يكون من أي نوع من أنواع JavaScript.

handler

دالة تنفذ عند تشغيل الحدث وهي على الشكل Function( Event eventObject )‎.

هذا التابع هو اختصار للتابع ‎.on( "error", handler )‎.

بدءًا من إصدار jQuery 1.8، أُهمِل التابع ‎.error()‎ . استخدم ‎.on( "error", handler )‎ لإرفاق معالجات الأحداث إلى الحدث error بدلاً من ذلك.

يُرسَل حدث error إلى العناصر، مثل الصور، التي يُرجَع إليها من المستند وتُحمَّل بواسطة المتصفح. ويستدعى إذا لم يُحمَّل العنصر بشكل صحيح.

على سبيل المثال، تأمل هذه الصفحة وبها عنصر صورة بسيط:

<img alt="Book" id="book">

يمكن ربط معالج الحدث بالصورة:

$( "#book" )
  .error(function() {
    alert( "Handler for .error() called." )
  })
  .attr( "src", "missing.png" );

إذا تعذر تحميل الصورة (على سبيل المثال، لأنها غير موجودة على عنوان URL المرفق)، فسيعرض التنبيه:

Handler for .error()‎ called.

يجب إرفاق معالج الحدث قبل أن يطلق المتصفح الحدث error، ولذلك يضبط هذا المثال الخاصية src بعد إرفاق المعالج. أيضًا، قد لا ينطلق الحدث error بشكل صحيح عند عرض الصفحة محليًا؛ ويعتمد error على شيفرات حالة HTTP ولن تنطلق عمومًا إذا كان عنوان URL يستخدم البروتوكول file:‎.

ملاحظة: لا يجب إرفاق معالج أحداث error من النوع jQuery بكائن window. يقوم المتصفح بإطلاق حدث error الكائن window عند حدوث خطأ في السكربت. ومع ذلك، يتلقى حدث error الكائن window وسائط مختلفة ولديه متطلبات قيمة معادة مختلفة عن معالجات الأحداث التقليدية. استخدم window.onerror بدلًا من ذلك.

ملاحظات إضافية

لما كان التابع ‎.error()‎ هو اختصار للتابع ‎.on( "error", handler )‎، فيمكن فصل دالة معالجة الحدث باستخدام ‎.off( "error" )‎ .

أمثلة

لتبديل كل الصور المفقودة إلى صور أخرى، يمكن تحديث الخاصية src داخل دالة رد النداء المُمرر إلى ‎.error()‎ . تأكد من وجود صورة الاستبدال؛ وإلا سينطلق الحدث error إلى أجل غير مسمى. إذا كانت الصورة missing.png مفقود، فستستبدل إلى الصورة replacement.png.

$( "img" )
  .error(function() {
    $( this ).attr( "src", "replacement.png" );
  })
  .attr( "src", "missing.png" );

مصادر