我是一名學前端的菜鳥,我用 jquery 實做一個需求,可以在點擊按鈕後打開視窗!
如果點擊視窗內的物件,不可以關閉視窗,但點視窗外就可以~
但是我發現如果想要再次點擊按鈕來關閉視窗,目前這個寫法似乎無法實現,也不知道該怎麼改才可以實現這個需求,希望可以獲得大家的幫助。
問題很多。。。我慢慢說
1.$('.tool').on('click',function(e){
下方又再綁一個
$(document).on('click',function(e){
會導致每次click綁一個監聽事件
你可以在下方下個Log就知道
2.點擊class清單內的把某個css設置成inline-block
而tool這個class也在清單內,就邏輯來說,確實是矛盾的(因為你想要點擊第二次隱藏
所以語法需要修正
3.解法
const className = ['delet_wrap','txt','btn_group','consider','confirm','tool'];
$(document).on('click',function(e){
if(className.includes(e.target.className)){
$('.delet_wrap').toggle(0,'display');
}else{
$('.delet_wrap').css('display','none');
}
})