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

من موسوعة حسوب
مراجعة 05:42، 6 مايو 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (تعديل التصنيفات)

‎.dblclick( handler )‎

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

يُعيد التابع ‎.dblclick( handler )‎ كائنًا من النوع jQuery.

الوصف

يربط هذا التابع دالة معالجة أحداث بحدث dblclick من JavaScript، أو يُطلق هذا الحدث على عنصرٍ ما.

‎.dblclick( handler )‎

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

handler

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

‎.dblclick( [eventData ], handler )‎

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

eventData

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

handler

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

‎.dblclick()‎

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

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

يُعد هذا التابع اختصارًا للتابع ‎.on( "dblclick", handler )‎ في أول شكلين من الأشكال السابقة، وسيعد مماثلًا لتنفيذ ‎.trigger( "dblclick" )‎ في الشكل الثالث.

يُرسَل حدث التابع dblclick إلى عنصرٍ ما عند النقر المزدوج على هذا العنصر. ويمكن لأي عنصر HTML تلقي هذا الحدث. على سبيل المثال، تأمل شيفرة HTML هذه:

<div id="target">
  Double-click here
</div>
<div id="other">
  Trigger the handler
</div>

يمكن ربط معالج الحدث بأي عنصر <div> :

$( "#target" ).dblclick(function() {
  alert( "Handler for .dblclick() called." );
});

النقر المزدوج على هذا العنصر الآن يعرض التنبيه:

Handler for ‎.dblclick() called.

لإطلاق الحدث يدويًا ، استدعِ ‎.dblclick()‎ دون وسيط:

$( "#other" ).click(function() {
  $( "#target" ).dblclick();
});

بعد تنفيذ هذه الشيفرة، سيطلق النقر (المفرد) المُداوِل handler أيضًا، وستظهر رسالة التنبيه.

سيطلق حدث dblclick فقط بعد سلسلة الأحداث هذه بالضبط:

  • الضغط على زر الفأرة أثناء وجود المؤشر داخل العنصر.
  • تحرير الضغط على زر الفأرة أثناء وجود المؤشر داخل العنصر.
  • الضغط على زر اللإارة مرة أخرى أثناء وجود المؤشر داخل العنصر، داخل إطار زمني معتمد على النظام.
  • تحرير الضغط على زر الفأرة أثناء وجود المؤشر داخل العنصر.

من غير المستحسن ربط معالجات لكل من الحدثين click و dblclick لنفس العنصر. يختلف تسلسل الأحداث المنطلقة من متصفح لآخر، بعضها يستقبل حدثي نقرة واحدة click قبل حدث dblclick وبعضها يستقبل واحدة فقط. يمكن أن تختلف حساسية النقر المزدوج (الحد الأقصى للوقت بين النقرتين التي يتعرف عليها كنقر مزدوج) حسب نظام التشغيل والمتصفح، وغالبًا ما تكون قابلة للضبط من قِبل المستخدم.

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

نظرًا لأن التابع ‎.dblclick()‎ هو مجرد اختصار للتابع ‎.on( "dblclick", handler )‎، فإن إلغاء ارتباط دالة معالجة الحدث مع الحدث نفسه ممكنٌ باستخدام ‎ .off( "dblclick" )‎.

أمثلة

لربط مربع تنبيه "مرحبا أيها العالم!" بالحدث dblclick في كل فقرة في الصفحة:

$( "p" ).dblclick(function() {
  alert( "مرحبا أيها العالم!" );
});

انقر نقرًا مزدوجًا لتبديل لون الخلفية.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>dblclick demo</title>
  <style>
  div {
    background: blue;
    color: white;
    height: 100px;
    width: 150px;
 }
  div.dbl {
    background: yellow;
    color: black;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<div></div>
<span>Double click the block</span>
 
<script>
var divdbl = $( "div:first" );
divdbl.dblclick(function() {
  divdbl.toggleClass( "dbl" );
});
</script>
 
</body>
</html>

مصادر