2017-06-05 73 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