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);
}
});
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
.
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).
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 context
s, 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: