В чем разница между селектором документов и селектором окон? - PullRequest
22 голосов
/ 26 мая 2011

У меня есть следующая функция JQuery, которая принимает пользовательский ввод и отображает его на экране.Когда я выбираю оба параметра $(document) и $(window), функция работает.В чем недостаток использования любого селектора?Где я могу прочитать больше об этих селекторах и их различиях?

Заранее спасибо.

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

Ответы [ 3 ]

21 голосов
/ 26 мая 2011
Селектор

$(window) предназначен для выбора видового экрана.

$(document) селектор предназначен для всего документа (то есть, что находится внутри тега <html>, даже если он выходит за пределы видового экрана).

12 голосов
/ 26 мая 2011

При использовании объекта window или document в селекторе jQuery dom большую часть времени вы не заметите разницу между ними.

Однако этоВажно отметить, что это не один и тот же объект.

window - относится к области просмотра.Он используется в качестве основного глобального объекта в JavaScript.document - прямой потомок window;относится к корню дерева документов .

Все элементы DOM являются потомками document, который является прямым потомком window.

1 голос
/ 30 марта 2017

Чтобы ответить на этот вопрос, позвольте мне начать с определения DOM, которое мы обычно называем "document".

Объектная модель документа (DOM) - это интерфейс прикладного программирования (API) для допустимых документов HTML и правильно оформленных документов XML. Он определяет логическую структуру документов и способ доступа к document и манипулирования им. В спецификации DOM термин «документ» используется в широком смысле.

Теперь позвольте мне объяснить немного из того, что я нашел о browsing context с, поскольку это отношения, которые обычно имеют Document и Window - хотя важно упомянуть, что Document может существовать без browsing context, но вы никогда не увидите этого с помощью jquery.

Пользователь взаимодействует с основным видом Document. Представление определяется как носитель, который используется для представления Document пользовательскому агенту, например экран, печать, речь. Основное представление является представлением по умолчанию и представлено объектом AbstractView, который реализует интерфейс Window.

И, говоря по-простому, window - это контейнер, а document - это содержимое. Но я рекомендую хотя бы просмотреть документацию по этому вопросу, чтобы лучше понять.

Источники:

...