الفرق بين المراجعتين لصفحة: «jQuery/triggerHandler»

من موسوعة حسوب
لا ملخص تعديل
 
سطر 3: سطر 3:


=== القيمة المعادة ===
=== القيمة المعادة ===
يُعيد كائنًا من النوع Object.
يُعيد كائنًا من النوع <code>[[JavaScript/Object|Object]]</code>.


=== الوصف ===
=== الوصف ===
سطر 12: سطر 12:


==== <code>eventType</code> ====
==== <code>eventType</code> ====
سلسلة من النوع [[JavaScript/String/match|String]] تحتوي على نوع حدث JavaScript، مثل <code>click</code> أو <code>submit</code> .
سلسلة نصية من النوع [[JavaScript/String/match|<code>String</code>]] تحتوي على نوع حدث JavaScript، مثل <code>click</code> أو <code>submit</code> .


==== <code>extraParameters</code> ====
==== <code>extraParameters</code> ====
معاملات إضافية لتمريرها إلى معالج الحدث وهي تكون من النوع [[JavaScript/Array|Array]] أو [[JavaScript/Object|PlainObject]].
معاملات إضافية لتمريرها إلى معالج الحدث وهي تكون من النوع [[JavaScript/Array|<code>Array</code>]] أو [[JavaScript/Object|<code>PlainObject</code>]].


=== <code>‎.triggerHandler( event [, extraParameters ] )‎</code> ===
=== <code>‎.triggerHandler( event [, extraParameters ] )‎</code> ===
سطر 21: سطر 21:


==== <code>event</code> ====
==== <code>event</code> ====
كائن jQuery.Event من النوع [[JQuery/event/|Event]].
كائن [[jQuery/event|jQuery.Event]] من النوع Event.


==== <code>extraParameters</code> ====
==== <code>extraParameters</code> ====
معاملات إضافية لتمريرها إلى معالج الحدث وهي تكون من النوع [[JavaScript/Array|Array]] أو [[JavaScript/Object|PlainObject]].
معاملات إضافية لتمريرها إلى معالج الحدث وهي تكون من النوع [[JavaScript/Array|<code>Array</code>]] أو [[JavaScript/Object|<code>PlainObject</code>]].


ينفذ <code>‎.triggerHandler( eventType )‎</code> جميع المعالجات المرتبطة بكائن jQuery لنوع الحدث. وينفذ أيضًا أي تابع استدعى التابع <code>on{eventType}()</code>‎‎ الموجود على العنصر. يشبه سلوكُ هذا التابع سلوكَ التابع <code>[[jQuery/trigger|‎.trigger()]]</code>‎‎ ، مع الاستثناءات التالية:
ينفذ <code>‎.triggerHandler( eventType )‎</code> جميع المعالجات المرتبطة بكائن jQuery لنوع الحدث. وينفذ أيضًا أي تابع استدعى التابع <code>on{eventType}()</code>‎‎ الموجود على العنصر. يشبه سلوكُ هذا التابع سلوكَ التابع <code>[[jQuery/trigger|‎.trigger()]]</code>‎‎ ، مع الاستثناءات التالية:
* لن يستدعي التابعُ <code>‎.triggerHandler( "event" )</code>‎ التابعَ ‎<code>.event()</code>‎‎ في العنصر الذي أطلق عليه. هذا يعني أن ‎<code>.triggerHandler( "submit" )‎</code> في نموذج لن يستدعي التابع ‎<code>[[jQuery/submit|.submit()]]</code>‎‎ في النموذج.
* لن يستدعي التابعُ <code>‎.triggerHandler( "event" )</code>‎ التابعَ ‎<code>.event()</code>‎‎ في العنصر الذي أطلق عليه. هذا يعني أن ‎<code>.triggerHandler( "submit" )‎</code> في نموذج لن يستدعي التابع ‎<code>[[jQuery/submit|.submit()]]</code>‎‎ في النموذج.
* بينما يعمل التابع  <code>[[jQuery/trigger|‎.trigger()‎‎]]</code> على جميع العناصر المطابقة من قِبل كائن jQuery ، يؤثر التابع <code>‎.triggerHandler()‎‎</code> فقط على العنصر المطابق الأول.
* بينما يعمل التابع  <code>[[jQuery/trigger|‎.trigger()‎‎]]</code> على جميع العناصر المطابقة من قِبل كائن jQuery ، يؤثر التابع <code>‎.triggerHandler()‎‎</code> فقط على العنصر المطابق الأول.
* الأحداث التي أطلقها التابع ‎.triggerHandler()‎‎ تنتقل عبر تسلسل شجرة DOM إلى العناصر الأب؛ إذا لم يُتعامل معها مباشرة بواسطة العنصر الهدف ، فإنها لا تفعل شيئا.
* الأحداث التي أطلقها التابع ‎<code>.triggerHandler()</code>‎‎ تنتقل عبر تسلسل شجرة DOM إلى العناصر الأب؛ إذا لم يُتعامل معها مباشرة بواسطة العنصر الهدف ، فإنها لا تفعل شيئًا.
* بدلاً من إعادة كائن jQuery (للسماح بالتسلسل chaining)، يعيد <code>‎.triggerHandler()</code>‎‎ أي قيمة سبق وأن أُعيدت بواسطة المعالج الأخير الذي تسبب في تنفيذه. إذا لم يُطلق أي معالج، فإنها تُعيد <code>undefined</code>.
* بدلاً من إعادة كائن [[jQuery/jQuery|jQuery]] (للسماح باستدعاء التوابع كسلسلة [chaining])، يعيد <code>‎.triggerHandler()</code>‎‎ أي قيمة سبق وأن أُعيدت بواسطة المعالج الأخير الذي تسبب في تنفيذه. إذا لم يُطلق أي معالج، فإنه يُعيد القيمة <code>[[JavaScript/undefined|undefined]]</code>.
لمزيد من المعلومات حول هذا التابع، راجع صفحة توثيق التابع <code>[[jQuery/trigger|‎.trigger()‎‎]]</code>.
لمزيد من المعلومات حول هذا التابع، راجع صفحة توثيق التابع <code>[[jQuery/trigger|‎.trigger()‎‎]]</code>.


=== أمثلة ===
=== أمثلة ===
عند استدعاء ‎<code>.triggerHandler()‎‎‎‎</code> في حدث التركيز <code>focus</code> - لن ينطلق الإجراء الافتراضي للتركيز للمتصفح ، لكن تنطلق فقط معالجات الحدث المرتبطة بحدث التركيز.<syntaxhighlight lang="html">
عند استدعاء ‎<code>.triggerHandler()‎‎‎‎</code> في حدث التركيز <code>focus</code>؛ لن ينطلق الإجراء الافتراضي للتركيز للمتصفح ، لكن تنطلق فقط معالجات الحدث المرتبطة بحدث التركيز.<syntaxhighlight lang="html">
<!doctype html>
<!doctype html>
<html lang="en">
<html lang="en">

المراجعة الحالية بتاريخ 10:31، 23 يونيو 2018

‎.triggerHandler( eventType [, extraParameters ] )‎

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

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

الوصف

تنفيذ كافة معالجات الأحداث التي تتعلق على عنصرٍ لحدث.

‎.triggerHandler( eventType [, extraParameters ] )‎

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

eventType

سلسلة نصية من النوع String تحتوي على نوع حدث JavaScript، مثل click أو submit .

extraParameters

معاملات إضافية لتمريرها إلى معالج الحدث وهي تكون من النوع Array أو PlainObject.

‎.triggerHandler( event [, extraParameters ] )‎

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

event

كائن jQuery.Event من النوع Event.

extraParameters

معاملات إضافية لتمريرها إلى معالج الحدث وهي تكون من النوع Array أو PlainObject.

ينفذ ‎.triggerHandler( eventType )‎ جميع المعالجات المرتبطة بكائن jQuery لنوع الحدث. وينفذ أيضًا أي تابع استدعى التابع on{eventType}()‎‎ الموجود على العنصر. يشبه سلوكُ هذا التابع سلوكَ التابع ‎.trigger()‎‎ ، مع الاستثناءات التالية:

  • لن يستدعي التابعُ ‎.triggerHandler( "event" )‎ التابعَ ‎.event()‎‎ في العنصر الذي أطلق عليه. هذا يعني أن ‎.triggerHandler( "submit" )‎ في نموذج لن يستدعي التابع ‎.submit()‎‎ في النموذج.
  • بينما يعمل التابع ‎.trigger()‎‎ على جميع العناصر المطابقة من قِبل كائن jQuery ، يؤثر التابع ‎.triggerHandler()‎‎ فقط على العنصر المطابق الأول.
  • الأحداث التي أطلقها التابع ‎.triggerHandler()‎‎ تنتقل عبر تسلسل شجرة DOM إلى العناصر الأب؛ إذا لم يُتعامل معها مباشرة بواسطة العنصر الهدف ، فإنها لا تفعل شيئًا.
  • بدلاً من إعادة كائن jQuery (للسماح باستدعاء التوابع كسلسلة [chaining])، يعيد ‎.triggerHandler()‎‎ أي قيمة سبق وأن أُعيدت بواسطة المعالج الأخير الذي تسبب في تنفيذه. إذا لم يُطلق أي معالج، فإنه يُعيد القيمة undefined.

لمزيد من المعلومات حول هذا التابع، راجع صفحة توثيق التابع ‎.trigger()‎‎.

أمثلة

عند استدعاء ‎.triggerHandler()‎‎‎‎ في حدث التركيز focus؛ لن ينطلق الإجراء الافتراضي للتركيز للمتصفح ، لكن تنطلق فقط معالجات الحدث المرتبطة بحدث التركيز.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>triggerHandler مثال على التابع</title>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<button id="قديم">.trigger( "تركيز" )</button>
<button id="جديد">.triggerHandler( "تركيز" )</button><br><br>
 
<input type="text" value="للتركيز">
 
<script>
$( "#old" ).click(function() {
  $( "input" ).trigger( "focus" );
});
$( "#new" ).click(function() {
  $( "input" ).triggerHandler( "focus" );
});
$( "input" ).focus(function() {
  $( "<span>محل تركيز!</span>" ).appendTo( "body" ).fadeOut( 1000 );
});
</script>
 
</body>
</html>

مصادر