الفرق بين المراجعتين لصفحة: «jQuery/triggerHandler»
Khaled-yassin (نقاش | مساهمات) ط ←مصادر |
لا ملخص تعديل |
||
| سطر 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. | ||
==== <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 (للسماح | * بدلاً من إعادة كائن [[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> | عند استدعاء <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>