الفرق بين المراجعتين لصفحة: «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>