Jquery 文档选择器和窗口选择器之间有什么区别?

Jquery 文档选择器和窗口选择器之间有什么区别?,jquery,jquery-selectors,window,document,Jquery,Jquery Selectors,Window,Document,我有以下JQuery函数,它接受用户输入并将其显示在屏幕上。当我同时为$(文档)和$(窗口)选择时,该功能会工作。使用任一选择器的缺点是什么?我在哪里可以阅读更多关于这些选择器及其差异的信息 先谢谢你 $(document).keypress(function(e) { if(e.keyCode == 13) { var id = $("input#example").val() console.log(id); $('

我有以下JQuery函数,它接受用户输入并将其显示在屏幕上。当我同时为
$(文档)
$(窗口)
选择时,该功能会工作。使用任一选择器的缺点是什么?我在哪里可以阅读更多关于这些选择器及其差异的信息

先谢谢你

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

在中使用
窗口
文档
对象时,大多数情况下,您不会注意到两者之间的差异

但是,需要注意的是,它们不是同一个对象

窗口
-指的是视口。它被用作JavaScript中的主要全局对象
文档
-窗口的直接后代;指的是

所有DOM元素都是
文档
的后代,该文档是
窗口
的直接后代

$(窗口)
选择器用于选择视口


$(document)
选择器用于整个文档(即
标记内的内容,即使它超出了视口)。

要回答这个问题,让我从DOM的定义开始,我们通常称之为“
document

文档对象模型(DOM)是用于有效HTML和格式良好的XML文档的应用程序编程接口(API)。它定义了文档的逻辑结构以及访问和操作
文档的方式。在DOM规范中,术语“文档”是广义的

现在,让我解释一下我在
浏览上下文
s中发现的一些东西,因为这是
文档
窗口
通常具有的关系,尽管有一点很重要,那就是
文档
可能不存在
浏览上下文
,但在jquery中您永远不会看到这一点

用户与
文档的主视图进行交互。视图定义为用于向用户代理呈现
文档的媒体,例如屏幕、打印、语音。主视图是默认视图,由实现
窗口
界面的
抽象视图
对象表示

简单地说,
window
是容器,
document
是内容。但我建议至少浏览一下这方面的文档,以便更好地理解

资料来源:

  • ,

同意。在这种情况下,使用
$(窗口)
而不是
$(文档)
更符合逻辑,因为从技术上讲,按键在视口之外是不可能发生的。如果网站使用框架呢?老实说,我从2000年或之前,jQuery发明之前就没有使用过框架,但是如果我要推测,我想说它是一样的,文档的视口框架与整个文档形成对比。不是开玩笑,有参考文献吗?它不一样$(窗口)指的是视口,$(文档)指的是整个站点。例如,$(window).height()和$(document).height()通常会返回不同的结果。一个很好的例子是本机
resize
事件,您只能在
window
对象上找到它。