2017-06-05 71 views
0

最近我發佈了類似的問題,但我無法使它工作,所以我會在這裏引用它,並再次尋求幫助,因爲我沒有能夠做到這一點。關閉點擊外部角2(4)

問:Hide on click Outside of element angular 4

所以,我需要做到以下幾點:我有一個側面菜單,並在菜單列表項目的點擊,我打開另一個工具欄菜單(它不是一個下拉菜單),我需要關閉它時,點擊任何地方,但在新的側面菜單。

我的組件結構如下:佈局組件>側欄組件>小菜單組件。

所以我打開小菜單上單擊內側邊欄組件。我曾嘗試:https://www.npmjs.com/package/angular2-click-outside

https://www.npmjs.com/package/ng2-click-outside

他們似乎沒有工作。

謝謝。

回答

0

所以我已經處理了這個,但只有一個下拉,但我覺得它會類似於你在找什麼。

在你的組件/指令

constructor() { 
    document.addEventListener('click', this.offClickHandler.bind(this)); 
} 

offClickHandler(event:any) { 
    if (!event.target.closest(".select-options") && !event.target.closest(".select-input")) { 
     // do whatever you want here 
    } 
} 

這將檢查,看看是否有一個點擊接近但不在DIV /下拉式選單,是開放的。然後執行offClickHandler中的代碼。因此,只需將offClickHandler中的類設置爲要單擊時要關閉的側邊菜單,然後將其隱藏在if語句內。

+0

我試過這個,但它不工作:/ – grabnem