javascript
  • events
  • onfocus
  • 2013-09-26 173 views 0 likes 
    0

    的代碼是一些訪問鍵添加到當前頁面上的一些按鈕。該接口是這樣的:有一些手風琴標籤 主頁讓說accordion_A,accordion_B和accordion_C,存在讓我們說「accordion_A」選項卡,該按鈕的,熱鍵(例如按鈕A:ALT + d )被添加如此按下,將調用該按鈕相關的功能。onfocus事件觸發多次在Internet Explorer

    if (_browser.isIE) 
         text += " href='javascript:void(0)'" + 
           " onfocus='KeyPressed(\"" + key + "\")'></A>"; 
        else 
         text += " href='Javascript:KeyPressed(\"" + key + "\")'></A>"; 
    

    首先打開頁面時,讓我們假設accordion_C是默認的選項卡,現在我去accordion_A,現在熱鍵被添加到存在於accordion_A(延遲標籤)的按鈕。現在我再次回到accordion_C並按下'ALT + D'來調用accordion_A上的按鈕。按鈕功能調用並打開一個彈出窗口。這個問題從這裏開始,在IE瀏覽器,當我關閉彈出,再次被觸發onfocus事件,這將繼續爲像永遠。

    有什麼辦法來對付這一現象,感謝您的閱讀,希望我很清楚。

    +0

    裏面的代碼的其餘部分將是不錯...也許問題是,關閉彈出窗口焦點返回到最後一個元素之後。如果是這樣的話你就必須拿出一個辦法來註銷焦點的焦點事件,然後在模糊重新註冊。 stil ...沒有代碼的其餘部分沒有多少我可以做的,以幫助 –

    +0

    是的,這似乎是問題,但是如果我在與按鈕相同的選項卡並調用alt + d並關閉彈出窗口,它不再出現。我會看看我是否可以得到額外的代碼。 – Kalyan

    回答

    0

    嘗試添加這是你的keyPressed功能

    event.cancelBubble = true; 
    if (event.stopPropagation) event.stopPropagation(); 
    
    +0

    謝謝你會嘗試的建議 – Kalyan

    +0

    如果沒有工作,請儘可能張貼所有代碼。 –

    相關問題