سؤال

نحن نعرض مربعًا على الشاشة أريد إخفاءه عندما ينقر المستخدم في أي مكان على الشاشة ، بما في ذلك الجسم ، المراسي ، divs ، الأزرار ، إلخ ... هل هناك محدد يمكنه التعامل مع هذا بالنسبة لي؟ أم أنها حالة من $('body, a, div, input').click()?

هل كانت مفيدة؟

المحلول

يمكنك أن تفعل ذلك مثل هذا:

$(document).click(function() {
  $("#boxID").hide();
});

منذ click الأحداث ، بشكل افتراضي ، فقاعة تصعد إلى document, ، هذا نهج "Catch All" ... إذا كنت لا تريد النقرات من داخل الصندوق لإغلاقه ، أضف أ .stopPropagation() في اتصال أولئك click أحداث مثل هذا:

$("#boxID").click(function(e) {
  e.stopPropagation();
});

نصائح أخرى

يمكنك فقط ربط حدث النقر لعنصر المستند. جربه في http://jsfiddle.net/zqeby/.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top