文档选择器和窗口选择器之间有什么区别?
我有以下JQuery函数,它接受用户输入并在屏幕上显示它。 当我选择$(document)
和$(window)
该函数可以正常工作。 使用任一选择器有什么缺点? 我在哪里可以阅读更多关于这些选择器及其差异的信息?
先感谢您。
$(document).keypress(function(e) { if(e.keyCode == 13) { var id = $("input#example").val() console.log(id); $('#data').append(id); } });
在jQuery dom选择器中使用window
或document
对象时,大多数时候你不会注意到两者之间的差异。
但是,重要的是要注意它们不是同一个对象。
window
– 指视口。 它被用作JavaScript中的主要全局对象。
document
– window
的直接后代; 指文档树的根 。
所有DOM元素都是document
的后代,它是window
的直接后代。
$(window)
选择器用于选择视口
$(document)
选择器用于整个文档(即, 标记内的内容,即使它超出视口范围也是如此)。
包含在$( document ).ready()
只有在页面文档对象模型(DOM)准备好执行JavaScript代码后才会运行。 包含在$( window ).on( "load", function() { ... })
将在整个页面(图像或iframe)(而不仅仅是DOM)准备好后运行。
通过此链接进一步了解。
为了回答这个问题,让我从DOM的定义开始,我们通常称之为“ document
”。
文档对象模型(DOM)是用于有效HTML和格式良好的XML文档的应用程序编程接口(API)。 它定义了文档的逻辑结构以及文档的访问和操作方式。 在DOM规范中,术语“文档”在广义上使用。
现在让我解释一下我发现的关于browsing context
的一些内容,因为这是Document
和Window
通常具有的关系 – 尽管重要的是要提到Document
可能没有browsing context
,但你永远不应该看到用jquery。
用户与Document
的主视图交互。 视图被定义为用于向用户代理呈现Document
的媒体 – 例如屏幕,打印,语音。 主视图是默认视图,由实现Window
接口的AbstractView
对象表示。
说实话很简单, window
是容器, document
是内容。 但我建议至少浏览一下这个文档,以便更好地理解。
资料来源:
- W3C – 什么是DOM ,
- W3C – 浏览上下文