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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:التابع <code>‎.undelegate()‎‎‎‎‎‎‎‎‎‎‎‎‎</code>‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ في jQ...'
 
لا ملخص تعديل
 
سطر 19: سطر 19:


==== <code>selector</code> ====
==== <code>selector</code> ====
المحدد المستخدم لترشيح نتائج الحدث، وهو من النوع [[JavaScript/String|String]].
المحدد المستخدم لترشيح نتائج الحدث، وهو من النوع [[JavaScript/String|<code>String</code>]].


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


=== <code>‎.undelegate( selector, eventType, handler )‎</code> ===
=== <code>‎.undelegate( selector, eventType, handler )‎</code> ===
سطر 28: سطر 28:


==== <code>selector</code> ====
==== <code>selector</code> ====
المحدد المستخدم لترشيح نتائج الحدث، وهو من النوع [[JavaScript/String|String]].
المحدد المستخدم لترشيح نتائج الحدث، وهو من النوع [[JavaScript/String|<code>String</code>]].


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


==== <code>handler</code> ====
==== <code>handler</code> ====
دالة تُنفذ عند إطلاق الحدث، وهي على الصورة [[JavaScript/Function|Function]]( Event eventObject )‎.
دالة تُنفذ عند إطلاق الحدث، وهي على الشكل <code>[[JavaScript/Function|Function]]( Event eventObject )‎</code>.


=== <code>‎.undelegate( selector, events )‎</code> ===
=== <code>‎.undelegate( selector, events )‎</code> ===
سطر 40: سطر 40:


==== <code>selector</code> ====
==== <code>selector</code> ====
المحدد المستخدم لترشيح نتائج الحدث، وهو من النوع [[JavaScript/String|String]].
المحدد المستخدم لترشيح نتائج الحدث، وهو من النوع [[JavaScript/String|<code>String</code>]].


==== <code>events</code> ====
==== <code>events</code> ====
سطر 49: سطر 49:


==== <code>namespace</code> ====
==== <code>namespace</code> ====
سلسلة من النوع [[JavaScript/String|String]] تحتوي على مساحة اسم المراد إزالة كل الأحداث منها.
سلسلة نصية من النوع [[JavaScript/String|<code>String</code>]] تحتوي على مساحة اسم المراد إزالة كل الأحداث منها.


توقف <code>‎.undelegate()</code>‎‎ بدءًا من الإصدار jQuery [http://api.jquery.com/category/version/3.0 3.0]. وحل محله التابع <code>[[jQuery/off|‎.off()‎]]</code> منذ الإصدار jQuery [http://api.jquery.com/category/version/1.7 1.7]، لذا كان استخدامه غير محبذ بالفعل.
أهمل <code>‎.undelegate()</code>‎‎ بدءًا من الإصدار jQuery [http://api.jquery.com/category/version/3.0 3.0]. وحل محله التابع <code>[[jQuery/off|‎.off()‎]]</code> منذ الإصدار jQuery [http://api.jquery.com/category/version/1.7 1.7]، لذا كان استخدامه غير محبذ بالفعل.


يعد التابع <code>‎.undelegate()</code>‎‎ طريقة لإزالة معالجات الأحداث التي سبق ربطها باستخدام <code>[[jQuery/delegate|‎.delegate()‎]]</code>.
يعد التابع <code>‎.undelegate()</code>‎‎ طريقة لإزالة معالجات الأحداث التي سبق ربطها باستخدام <code>[[jQuery/delegate|‎.delegate()‎]]</code>.


=== أمثلة ===
=== أمثلة ===
يمكن ربط الأحداث بالزر الملون ثم إزالتها منه.<syntaxhighlight lang="html">
يمكن ربط الأحداث بالزر الملون ثم إزالتها منه:<syntaxhighlight lang="html">
<!doctype html>
<!doctype html>
<html lang="en">
<html lang="en">
سطر 114: سطر 114:
$( "body" ).undelegate( "p", "click", foo );
$( "body" ).undelegate( "p", "click", foo );


</syntaxhighlight>لإزالة جميع الأحداث المُرفقة من خلال مساحة الاسم الخاصة بها:<syntaxhighlight lang="jquery">
</syntaxhighlight>لإزالة جميع الأحداث المُرفقة من خلال مجال الأسماء الخاص بها:<syntaxhighlight lang="jquery">
var foo = function() {
var foo = function() {
   // شيفرة للتعامل مع نوع من الأحداث
   // شيفرة للتعامل مع نوع من الأحداث
سطر 128: سطر 128:
</syntaxhighlight>
</syntaxhighlight>


== مصادر ==
== مصادر<span> </span> ==
<span> </span>
* [http://api.jquery.com/undelegate/ صفحة التابع ‎ ‎.undelegate()‎‎‎‎‎‎‎‎‎‎‎‎‎‎في توثيق jQuery الرسمي.]
* [http://api.jquery.com/undelegate/ صفحة التابع ‎ ‎.undelegate()‎‎‎‎‎‎‎‎‎‎‎‎‎‎في توثيق jQuery الرسمي.]
[[تصنيف:jQuery]]
[[تصنيف:jQuery]]
[[تصنيف:jQuery Method]]
[[تصنيف:jQuery Method]]
[[تصنيف:jQuery Events]]
[[تصنيف:jQuery Events]]
[[تصنيف:jQuery Deprecated]]

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

‎.undelegate()‎

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

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

اٌُهمل مع الإصدار: 3.0.

الوصف

إزالة معالج من الحدث لكافة العناصر التي تطابق المُحدِّد الحالي، استنادًا إلى مجموعة محددة من عناصر الجذر.

‎.undelegate()‎

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

هذا الشكل لا يقبل أي وسائط.

‎.undelegate( selector, eventType )‎

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

selector

المحدد المستخدم لترشيح نتائج الحدث، وهو من النوع String.

eventType

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

‎.undelegate( selector, eventType, handler )‎

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

selector

المحدد المستخدم لترشيح نتائج الحدث، وهو من النوع String.

eventType

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

handler

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

‎.undelegate( selector, events )‎

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

selector

المحدد المستخدم لترشيح نتائج الحدث، وهو من النوع String.

events

كائن من النوع PlainObject وهو يحتوي على نوع حدث واحد أو أكثر ودوال مرتبطة مسبقًا لإزالتها منها.

‎.undelegate( namespace )‎

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

namespace

سلسلة نصية من النوع String تحتوي على مساحة اسم المراد إزالة كل الأحداث منها.

أهمل ‎.undelegate()‎‎ بدءًا من الإصدار jQuery 3.0. وحل محله التابع ‎.off()‎ منذ الإصدار jQuery 1.7، لذا كان استخدامه غير محبذ بالفعل.

يعد التابع ‎.undelegate()‎‎ طريقة لإزالة معالجات الأحداث التي سبق ربطها باستخدام ‎.delegate()‎.

أمثلة

يمكن ربط الأحداث بالزر الملون ثم إزالتها منه:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>undelegate demo</title>
  <style>
  button {
    margin: 5px;
  }
  button#theone {
    color: red;
    background: yellow;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<button id="theone">لا يحدث شيء...</button>
<button id="bind">ربط النقر</button>
<button id="unbind">إزالة النقر</button>
<div style="display:none;">انقر!</div>
 
<script>
function aClick() {
  $( "div" ).show().fadeOut( "slow" );
}
$( "#bind" ).click(function() {
  $( "body" )
    .delegate( "#theone", "click", aClick )
    .find( "#theone" ).text( "يمكن النقر!" );
});
$( "#unbind" ).click(function() {
  $( "body" )
    .undelegate( "#theone", "click", aClick )
    .find( "#theone" ).text( "لا يحدث شيء..." );
});
</script>
 
</body>
</html>

لإزالة جميع الأحداث المُرفقة من جميع الفقرات <p>:

$( "p" ).undelegate();

لإزالة جميع أحداث النقر المُرفقة من جميع الفقرات <p>:

$( "p" ).undelegate( "click" );

لإزالة معالج واحد سبق إرفاقه، تُمرر الدالة كوسيط ثالث:

var foo = function () {
  // شيفرة للتعامل مع نوع من الأحداث
};
 
//  ... الآن سيستدعى foo عند النقر فوق الفقرات ...
$( "body" ).delegate( "p", "click", foo );
 
//  ... لن يستدعى foo بعد الآن.
$( "body" ).undelegate( "p", "click", foo );

لإزالة جميع الأحداث المُرفقة من خلال مجال الأسماء الخاص بها:

var foo = function() {
  // شيفرة للتعامل مع نوع من الأحداث
};
 
// إرفاق الأحداث تحت مساحة الاسم ".whatever"
$( "form" ).delegate( ":button", "click.whatever", foo );
 
$( "form" ).delegate( "input[type='text'] ", "keypress.whatever", foo );
 
// إلغاء ارفاق كافة الأحداث المرفقة تحت مساحة الاسم ".whatever"
$( "form" ).undelegate( ".whatever" );

مصادر