2010-01-20 5 views
1

Je suis allé à travers quelques questions déjà posées liées à cela et j'ai trouvé deux approche commune.quelle approche est plus correcte pour obtenir l'élément dans le document avec le focus?

  1. Avez élément global et mettre à jour en attachant événement onFocus() à chacun des éléments.
  2. document.activeElement et ont le code ci-dessous pour mettre à jour l'élément dans le cas de l'ancien navigateur qui ne prend pas en charge la propriété

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

Maintenant, ma question est que l'on est plus correct/facile/efficace approche de plus de deux? Pourquoi? Merci à tous,

Répondre

1

Votre solution 1 est horriblement inefficace. Attacher un gestionnaire d'événement à chaque élément (focusable) sur la page lorsque vous pouvez attacher au corps lui-même? Ce n'est pas la façon correcte/facile/efficace de le faire à coup sûr. La solution 2 semble plutôt bonne.