簡體   English   中英

NgBlur沒有在Internet Explorer中解雇

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM