鍍金池/ 問答/Linux  HTML/ 點擊overlap層的按鈕,為什么會把原始層已打開的 menu button菜單

點擊overlap層的按鈕,為什么會把原始層已打開的 menu button菜單收縮?

如果沒有overlap層,點擊 menu button下拉菜單一下,會將子菜單展開, 再次點擊頁面任意位置,menu button的子菜單會縮回去,這個很好理解。
但當(dāng)我建了個overlap層,并在上面建了一個普通button,為什么我點擊后, 原始頁面的 menu button下拉菜單也會縮回去呢? 這個正常嗎?
我的z-index設(shè)置得沒問題,不然遮罩層就無法正確顯示

回答
編輯回答
骨殘心

寫一個閉包變量儲存menu狀態(tài)

 let handler (function (){
  var isSlidedown = false
  return {
          isSlidedown = ! isSlidedown

//業(yè)務(wù)寫這里

  }
})();

btn.addEventListener('click', handler)
2017年3月30日 10:46
編輯回答
冷眸

原始的menu button的子菜單縮回去是怎么實現(xiàn)的?
點擊頁面任意位置會收回去,那你overlap層上的東西也屬于任意位置,所以可能是冒泡的原因。

2018年2月6日 12:18
編輯回答
九年囚

可能是點擊穿透,你在button上綁定點擊事件
觸發(fā)后event.preventDefault()

2018年4月14日 12:30
編輯回答
毀了心

確認(rèn)了下, 這個現(xiàn)象是正常的。 overlap層雖然不能 選/操作 原始層的對象,但點擊overlap的按鈕就會像原始層的按鈕一樣,會讓menubutton縮回去。 謝謝各位的回復(fù)。

2017年2月17日 02:56