jQuery 3.3

.mouseover()




jquery

.mouseover (معالج) إرجاع: jQuery

الوصف: ربط معالج حدث بحدث جافا سكريبت "تمرير الماوس" ، أو تشغيل هذا الحدث على عنصر.

  • الإصدار المضاف: 1.0 .mouseover (معالج)

    • معالج
      النوع: Function ( Event eventObject)
      هي وظيفة يتم تنفيذها في كل مرة يتم فيها تشغيل الحدث.
  • الإصدار المضاف: 1.4.3 .mouseover ([eventData] ، معالج)

    • eventData
      النوع: Anything
      كائن يحتوي على بيانات سيتم تمريرها إلى معالج الحدث.
    • معالج
      النوع: Function ( Event eventObject)
      هي وظيفة يتم تنفيذها في كل مرة يتم فيها تشغيل الحدث.
  • الإصدار المضاف: 1.0 .mouseover()

    • هذا التوقيع لا يقبل أي حجج.

هذه الطريقة هي اختصار لـ .on( "mouseover", handler ) في أول .trigger( "mouseover" ) ، و .trigger( "mouseover" ) في الثلث.

يتم إرسال حدث mouseover إلى عنصر عندما يدخل مؤشر الماوس إلى العنصر. يمكن لأي عنصر HTML تلقي هذا الحدث.

على سبيل المثال ، ضع في اعتبارك HTML:

<div id="outer">
  Outer
  <div id="inner">
    Inner
  </div>
</div>
<div id="other">
  Trigger the handler
</div>
<div id="log"></div>
الشكل 1 - رسم توضيحي لصفحة HTML المقدمة

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

$( "#outer" ).mouseover(function() {
  $( "#log" ).append( "<div>Handler for .mouseover() called.</div>" );
});

الآن عندما يتحرك مؤشر الماوس فوق <div> الخارجي ، يتم إلحاق الرسالة بـ <div id="log"> . يمكننا أيضًا تشغيل الحدث عند النقر على عنصر آخر:

$( "#other" ).click(function() {
  $( "#outer" ).mouseover();
});

بعد تنفيذ هذه التعليمة البرمجية ، سيؤدي النقر فوق Trigger the handler إلى إلحاق الرسالة أيضًا.

يمكن أن يتسبب نوع الحدث هذا في حدوث العديد من الصداع بسبب فقاعات الأحداث. على سبيل المثال ، عندما يتحرك مؤشر الماوس فوق العنصر الداخلي في هذا المثال ، سيتم إرسال حدث mouseover إلى ذلك ، ثم يتدفق إلى الخارجي . يمكن أن يؤدي ذلك إلى تشغيل معالج mouseover بنا في أوقات غير مناسبة. انظر المناقشة ل .mouseenter() للحصول على بديل مفيد.

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

  • لأن طريقة .mouseover() هي اختصار لـ .on( "mouseover", handler ) ، يمكن .off( "mouseover" ) باستخدام .off( "mouseover" ) .

مثال:

إظهار عدد مرات تشغيل تمرير الماوس وأحداث الماوس. عند تحريك المؤشر إلى العنصر mouseenter أيضًا ، يتم mouseenter مؤشر الماوس عند تحريك المؤشر إلى العنصر المرتبط فقط.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>mouseover demo</title>
  <style>
  div.out {
    width: 40%;
    height: 120px;
    margin: 0 15px;
    background-color: #d6edfc;
    float: left;
  }
  div.in {
    width: 60%;
    height: 60%;
    background-color: #fc0;
    margin: 10px auto;
  }
  p {
    line-height: 1em;
    margin: 0;
    padding: 0;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<div class="out overout">
  <span>move your mouse</span>
  <div class="in">
  </div>
</div>
 
<div class="out enterleave">
  <span>move your mouse</span>
  <div class="in">
  </div>
</div>
 
<script>
var i = 0;
$( "div.overout" )
  .mouseover(function() {
    i += 1;
    $( this ).find( "span" ).text( "mouse over x " + i );
  })
  .mouseout(function() {
    $( this ).find( "span" ).text( "mouse out " );
  });
 
var n = 0;
$( "div.enterleave" )
  .mouseenter(function() {
    n += 1;
    $( this ).find( "span" ).text( "mouse enter x " + n );
  })
  .mouseleave(function() {
    $( this ).find( "span" ).text( "mouse leave" );
  });
</script>
 
</body>
</html>

عرض: