2010-01-20 29 views
1

我已經經歷了幾個已經問過與此有關的問題,我發現了兩種常見的方法。哪種方法更準確地獲得焦點文檔中的元素?

  1. 擁有全局元素並通過將onFocus()事件附加到每個元素來更新它。
  2. document.activeElement並下面的代碼更新舊的瀏覽器的情況下,不支持該屬性

    var focusedElement; 
    document.addEventListener("focus", function(e) { 
        focusedElement = e.target; 
    }, true); 
    document.addEventListener("blur", function(e) { 
        focusedElement = null; 
    }, true); 
    

現在我的問題是,哪一個更正確的/易/高效的元素以上兩種方法?爲什麼? 謝謝大家,

回答

1

您的解決方案1效率非常低下。當可以附加到主體本身時,將事件處理程序附加到頁面上的每個(可聚焦)元素?這不是確實做到的正確/簡單/有效的方式。解決方案2看起來不錯。