الحصول على حدث jquery Mouseout لإطلاق النار من جميع العناصر الأطفال

StackOverflow https://stackoverflow.com/questions/932665

سؤال

لدي طاولة داخل DIV، تحتوي على 8 صور، أريد إطفاء حدث ماوس لسواء الطاولة أو DIV، لكنها لا تطلق النار. أظن أن هذا لأن الماوس يغادر في الواقع كل من الصور، أو TD، أو TR، ... هل هناك طريقة للحصول على حدث Mouseout للجدول بأكمله للانتشار حتى يتم إطلاقه حتى من عناصر الطفل؟ العلامة مستقيمة إلى الأمام:

<div id=container>
  <table id="tbl">
    <tr>
      <td><img src=""></td>
      <td><img src=""></td>
      <td><img src=""></td>
      <td><img src=""></td>
    </tr>
    <tr>
      <td><img src=""></td>
      <td><img src=""></td>
      <td><img src=""></td>
      <td><img src=""></td>
    </tr>
  </table>
</div>

وكود مسج الخاص بي هو:

$("#tbl").mouseout(function(){
  alert("out home");
});

لا أستطيع إطلاق أحداث ماوس الفحص الفردية للصور لأن هناك في بعض الأحيان عناصر موضحة للغاية فوقها والتي تسبب إطلاق حدث ماوس في الأوان.

لا يوجد حل صحيح

نصائح أخرى

يجب ان يكون:

$("#tbl").mouseout(function(){
  alert("out home");
});

لقد فاتتك "#". إذا كنت تريد الصور فقط، فحاول:

$("#tbl >img").mouseout(function(){
  alert("out home");
});

ملاحظة. هل نظرت في استخدام $ ("...") تحوم ()، بدلا من ذلك؟

لا ينبغي أن تستخدم # TBL لتحديد الجدول؟

$("#tbl").mouseout(function(){
  alert("out home");
});

يستخدم mouseleave الحدث، الذي له نفس الوظائف بالضبط ولكنه لا ينطلق مع عناصر الأطفال.

$("#tbl").bind("mouseleave",function(){
  alert("out home");
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top