[英]NgBlur not firing in Internet explorer
我有一個簡單的下拉列表,顯示單擊按鈕時的效果,並在單擊下拉列表中的按鈕或用戶單擊頁面上的其他位置時隱藏。 代碼正在使用chrome但不在IE中。 它看起來像該section
ng-blur
事件永遠不會發射ie
我正在使用IE11和AngularJS 1.2.3。 代碼在Chrome中正常運行。
// some other html here
<section tabindex="0" ng-blur="menu.isOpen=false"> // main section
<div ng-click="toggle()">
<div>button</div> //button opening dropdown
</div>
<div ng-show="menu.isOpen">
<div>
<ul>
<li name="Sign Off" ng-click="toggle()">Sign off</li>
</ul>
</div>
</div>
</section>
// here rest of page
toggle()方法很簡單:
menu.isOpen=!menu.isOpen;
更新:
經過更多調查后,我知道該section
永遠不會聚焦,所以它永遠不會變得模糊。 它以某種方式隱藏在他內心的div之下。 設置z-index:1500
沒有幫助。
根據angularjs源代碼,ng-blur意在用於以下元素:
窗口,輸入,選擇,textarea,a
也許你可以用'a'替換'section'並在ie11再試一次?
'a'css可以配置樣式屬性。
Tabinidex應該解決這個問題。 要使其工作,包含tabindex屬性的每個元素都應具有比0更大的secuential唯一編號。
在你的情況下,由於你使用tabindex = 0,我將假設不起作用。 如果將其切換為1,如果您在代碼中的其他位置沒有tabindex = 1的其他元素,則它可能會起作用。
我們面臨同樣的問題,對我們有用的是在主體中使用tabindex屬性為1,並從包含ng-blur的元素中刪除所有tabindex屬性。
有關更多信息: tabindex
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.