web-dev-qa-db-fra.com

Quelle est la différence entre le sélecteur de document et le sélecteur de fenêtre?

J'ai la fonction JQuery suivante qui prend une entrée d'utilisateur et l'affiche à l'écran. Lorsque je sélectionne à la fois $(document) et $(window), la fonction est opérationnelle. Quel est l'inconvénient d'utiliser l'un ou l'autre sélecteur? Où puis-je en savoir plus sur ces sélecteurs et leurs différences?

Merci d'avance.

  $(document).keypress(function(e) {
      if(e.keyCode == 13) {
          var id = $("input#example").val()
          console.log(id);
          $('#data').append(id);
      }
  });
19
JZ.

Lorsque vous utilisez un objet window ou document dans un sélecteur de dom jQuery , la plupart du temps, vous ne remarquerez aucune différence.

Cependant, il est important de noter qu'ils ne sont pas le même objet.

window - fait référence à la fenêtre d'affichage. Il est utilisé comme principal objet global en JavaScript. 
document - un descendant direct de window; fait référence à la racine de l'arborescence du document .

Tous les éléments du DOM sont un descendant de document, qui est un descendant direct de window.

11
Shaz

Le sélecteur $(window) sert à sélectionner la fenêtre d'affichage

Le sélecteur $(document) concerne le document entier (c’est-à-dire le contenu de la balise <html>, même s’il dépasse la fenêtre d’affichage).

20
Itai Sagi

Pour répondre à cette question, permettez-moi de commencer par la définition du DOM, que nous connaissons communément sous le nom de "document".

Le Document Object Model (DOM) est une interface de programmation d'application (API) pour les documents HTML valides et XML bien formés. Il définit la structure logique des documents et la manière dont une variable document est utilisée et manipulée. Dans la spécification DOM, le terme "document" est utilisé au sens large.

Maintenant, permettez-moi d’expliquer un peu ce que j’ai trouvé à propos de browsing contexts, car c’est la relation qu’un Document et un Window entretiennent normalement — même s’il est important de mentionner qu’un Document peut exister sans browsing context, mais vous ne devriez jamais le voir avec jQuery .

Un utilisateur interagit avec la vue principale de la Document. Une vue est définie comme le support utilisé pour présenter la Document à l'agent d'utilisateur, par exemple. écran, impression, discours. La vue principale est la vue par défaut et est représentée par un objet AbstractView qui implémente l'interface Window.

Et pour le dire très simplement, window est le conteneur et document est le contenu. Mais je recommande au moins de parcourir la documentation de ceci pour avoir une meilleure compréhension.

Sources:

0
Edd