jquery點擊空白處關閉彈窗


需求是點擊空白處關閉彈窗,同時彈窗內有點擊事件

一開始的思路是點擊彈窗阻止事件冒泡

不知道是結構太復雜還是怎樣,使用event.stopPropagation();無效

找到了有效的方法后,把內部的點擊事件也阻攔掉了

只能在點擊空白處時,判斷是否是彈窗范圍,看到了一段很好用的代碼

$(document).mouseup(function(e){
var_con=$('目標區域');//設置目標區域
if(!_con.is(e.target)&&_con.has(e.target).length===0){//Mark1
somecode...//功能代碼
}
});
/*Mark1的原理:
判斷點擊事件發生在區域外的條件是:
1.點擊事件的對象不是目標區域本身
2.事件對象同時也不是目標區域的子元素
*/
這是當初在stackoverflow上看到的,非常簡單的實現,這里的目標區域就是你的彈出窗口

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM