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

时间:2011-05-26 18:30:21

标签: jquery jquery-selectors window document

我有以下JQuery函数,它接受用户输入并在屏幕上显示它。当我同时选择$(document)$(window)时,该功能起作用。使用任一选择器有什么缺点?我在哪里可以阅读更多关于这些选择器及其差异的内容?

提前谢谢你。

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

3 个答案:

答案 0 :(得分:21)

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

$(document)选择器用于整个文档(即<html>标记内的内容,即使它超出视口范围也是如此。)

答案 1 :(得分:12)

jQuery dom selector中使用windowdocument对象时,大部分时间您都不会注意到两者之间的差异。

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

window - 指视口。它被用作JavaScript中的主要全局对象。
document - window的直接后裔;是指root of the document tree

所有DOM元素都是document的后代,window是{{1}}的直接后代。

答案 2 :(得分:1)

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

  

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

现在让我解释一下我发现的关于browsing context的一些内容,因为这是DocumentWindow通常所拥有的关系 - 尽管提到这一点很重要Document可能不存在browsing context,但您永远不应该使用jquery看到它。

用户与Document的主视图进行交互。视图被定义为用于向用户代理呈现Document的媒体 - 例如。屏幕,打印,演讲。主视图是默认视图,由实现AbstractView接口的Window对象表示。

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

来源: