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




code memoire (5)

J'ai la fonction JQuery suivante qui prend l'entrée de l'utilisateur et l'affiche à l'écran. Lorsque je sélectionne à la fois $(document) et $(window) la fonction fonctionne. Quel est l'inconvénient d'utiliser un 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);
      }
  });

Answers

Pour répondre à cette question, permettez-moi de commencer par la définition du DOM, ce que nous appelons communément « document ».

Le Document Object Model (DOM) est une interface de programmation d'application (API) pour le HTML valide et les documents XML bien formés. Il définit la structure logique des documents et la façon dont un document est consulté et manipulé. Dans la spécification DOM, le terme "document" est utilisé au sens large.

Maintenant, laissez-moi vous expliquer un peu ce que j'ai trouvé sur les browsing context , car c'est la relation que normalement un Document et une Window - bien qu'il soit important de mentionner qu'un Document peut exister sans browsing context , mais vous ne devriez jamais voir ça avec jquery.

Un utilisateur interagit avec la vue principale du Document . Une vue est définie comme le support utilisé pour présenter le Document à l'agent 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 vraiment simple, la window est le conteneur et le document est le contenu. Mais je recommande de parcourir au moins la documentation de ce pour mieux comprendre.

Sources:


Le code inclus dans $( document ).ready() ne s'exécutera qu'une fois que la page Document Object Model (DOM) sera prête pour l'exécution du code JavaScript. Le code inclus dans $( window ).on( "load", function() { ... }) s'exécutera une fois que la page entière (images ou iframes), pas seulement le DOM, sera prête.

Parcourez ce lien pour mieux comprendre.


Lorsque vous utilisez la window ou l'objet document dans un sélecteur jQuery dom , la plupart du temps, vous ne remarquerez pas de différence entre les deux.

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 objet global principal en JavaScript.
document - un descendant direct de la window ; fait référence à la racine de l'arborescence du document .

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


$(window) sélecteur est pour sélectionner la fenêtre

$(document) selector est pour le document entier (c'est-à-dire, ce qui est à l'intérieur de la <html> , même si elle dépasse la fenêtre d'affichage).


définissez l'attribut target de votre élément <a> sur "_tab"

EDIT: Cela fonctionne, mais W3Schools dit qu'il n'y a pas d'attribut cible: w3schools.com/tags/att_a_target.asp

EDIT2: D'après ce que j'ai compris des commentaires. la définition de la cible sur _blank vous amènera à un nouvel onglet ou une nouvelle fenêtre (en fonction des paramètres de votre navigateur). Si vous tapez autre chose que l'un de ceux ci-dessous, vous créez un nouveau groupe d'onglets (je ne sais pas comment cela fonctionne):

_blank  Opens the linked document in a new window or tab
_self   Opens the linked document in the same frame as it was clicked (this is default)
_parent Opens the linked document in the parent frame
_top    Opens the linked document in the full body of the window
framename   Opens the linked document in a named frame




jquery jquery-selectors window document