jQuery Click () حدث Catch-All؟
-
04-10-2019 - |
سؤال
نحن نعرض مربعًا على الشاشة أريد إخفاءه عندما ينقر المستخدم في أي مكان على الشاشة ، بما في ذلك الجسم ، المراسي ، 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/.
لا تنتمي إلى StackOverflow