我编写了一个用于搜索配置文件的自定义指令,其中包括:
标题 div:
<div>Search Profiles</div>
用于输入搜索词的输入文本框
<div><input /></div>
结果项 div:
<div>
<div ng-repeat="foundUser in foundUsers">
<img ... />
<div>{{foundUser.FullName}}</div>
<button>Invite</button>
</div>
</div>
我需要在单击图像时像下拉菜单一样打开 drv。
<img class="dropdown-toggle" src="/Images/Icons/OpenSearchProfilesIcon.png"
data-toggle="dropdown" />
<search-profiles class="dropdown-menu"></search-profiles>
因此,该指令确实在单击 img 时打开,并在单击文档中的其他位置时关闭,正如预期的那样。
问题
当单击输入文本框以输入搜索词时,以及单击标题 div 以及单击邀请按钮时,drv 也会关闭,但所有这些类型的单击实际上不应导致drv 被关闭。
应该关闭它的点击是点击自定义指令 div 之外的所有内容。
任何想法我应该如何做到这一点,而不涉及 $document 点击的听众并决定点击是否在驱动程序之外,保持纯 bs?
此外,如果我希望在单击邀请按钮时也关闭 drv,而不是在单击标题和输入文本框时关闭 - 应该怎么做?
谢谢