Tag: 文件就绪

将document.ready绑定到弹出窗口

由于jQuery绑定document.ready事件的方式,应该简单的代码不是: var w = window.open(someSameOriginLocation,”); $(w).ready(function () { //alternatively selector could be $(w.document) console.log(‘popout ready’); }); 问题 当父窗口准备好而不是子窗口时,回调会执行 在回调中, this是对w.opener.document的引用 是否有一种相当简单的跨浏览器方式使用jQuery将ready事件(或类似)绑定到不同的窗口上下文?

KnockoutJs v2.3.0:“无法多次将绑定应用于同一个元素”

问题: 在现有的应用程序中,我添加了一个新function,该function使用knockout来显示网格和一些其他信息。 我在开始时加载一些数据并准备使用ajax加载其他数据的订阅,在Razor视图中创建viewmodel以注入服务器端变量,然后绑定它(如果我传递html节点没关系,我有同样的问题)。 在页面加载时,控制台中出现“无法多次对同一元素应用绑定”错误,并且使用if , with或template绑定的所有html元素都为空。 在整个项目中唯一出现的“applyBindings”在我看来,在淘汰源中。 调试显示它被调用两次,两次都来自$(document).ready 当我从代码中删除应用绑定,并稍后使用控制台手动调用它时,它可以工作。

替代“$(document).ready”function

我在aspx页面中使用fancybox。 文档就绪function在此页面中不适用于灯箱。 有人告诉我写一个新的javascript代码来加载该页面中的灯箱。

W3Schools的另一个有问题的jQuery测验答案

在W3Schools网站上发布了一个jQuery测验… http://www.w3schools.com/quiztest/quiztest.asp?qtest=jQuery 问题#16如下, 在文档加载完成之前,哪个jQuery函数用于阻止代码运行? A. $(文件).load() B. $(文件).ready() C. $(正文).onload() 我选错了答案A.(他们的官方答案是B.) 我回答说,以为我知道以下内容, document.load在页面上的所有内容加载后触发, 包括所有图像 document.ready只在加载DOM后才会触发(不一定是所有图像都已加载) 我解释了原始问题的措辞,“文档已完成加载”,包括所有内容(包含所有图像)。 毕竟,我认为这就是他们称之为“document.load”的原因。 同样,为了使他们的答案正确,你必须得出结论“DOM”相当于“文档”。 这似乎不正确,否则为什么称它为“文档对象模型”(DOM)而不仅仅是“文档”? 尽管W3School声称B是正确的答案,但究竟什么是正确答案? 谢谢你的想法。 旁注:在我的其他相关问题中引用我自己的评论…… “我实际上在jQuery网站上学习了大部分jQuery,并且在我遇到困难时在StackOverflow上搜索。我主要是在W3School上进行测验,因为我正在调查他们对jQuery认证的”先决条件“。我不知道我认为自己是一名jQuery专家,但我很容易在他们的测验中得到95%(19/20)。看到答案中的错误措辞,我想我已经在这里发帖确认了我已经怀疑过的。我对这些类型的看法认证正在转变。“ 编辑: 我向W3Schools通报了这个post的存在。 编辑2: 当我回答原始测验问题时,我在考虑$(window).load(),因此我的测验答案明显不正确。 我相信这个事实不会让三个多项选择都没有作为正确的答案。 请参阅下面的详细答案。

是否可以在图像开始加载之前运行javascript?

我想在浏览器请求之前更改图像的src属性,目的是使用像Timthumb这样的PHP脚本来减小图像的大小。 使用jQuery,我认为$(document).ready会做到这一点: $(document).ready(function () { var imgs = $(‘#container img’); jQuery.each(imgs, function() { $(this).replaceWith(”); }); }); 但原始的,未显示的图像仍然在后台下载到浏览器的缓存中。 是否有可能在客户端做我想做的事情,或者服务器端是唯一的选择?

jQuery多文档就绪队列顺序

我知道jQuery中对$(function(){})的调用是按照定义的顺序执行的,但是我想知道你是否可以控制队列的顺序? 例如,是否可以在“Hello World 1”之前调用“Hello World 2”: $(function(){ alert(‘Hello World 1’) }); $(function(){ alert(‘Hello World 2’) }); 问题是它是否可能……我已经知道它违背了最佳做法;)

隐藏页面,直到加载所有内容高级

我有一个大量使用jQuery的网页。 我的目标是只在一切准备就绪时显示页面。 有了这个我想避免向用户显示恼人的页面呈现。 到目前为止我试过这个( #body_holder是一个包装体内部): $(function(){ $(‘#body_holder’).hide(); }); $(window).load(function() { $(“#body_holder”).show(); }); 这完全没问题,但弄乱了布局。 问题是隐藏包装器会干扰使用的其他jQuery函数和插件(例如layout-plugin)。 所以我想必须有另一个技巧来做到这一点。 也许在window.load发生之前,在身体上放置一张图片或div? 你用什么方法? 编辑: 解决方案最有可能是另一种方式而不是display:none或hide() ;

如何在每个组件完成加载后在Angular 2中运行jquery函数

我已经尝试了所有生命周期钩子但无法完成所需的结果。 我需要的结果是在加载这些元素(组件)中的每一个之后触发一个函数,该函数初始化用于单个页面上的不同元素的许多jquery插件。 所以我们说你有这种结构。 主页滑块小部件产品旋转器..等等 这些元素中的每一个都有自己的组件,并且都是主页父组件的子组件。 我需要的是知道所有子组件和父组件何时被加载,所以我触发一个jquery函数来初始化页面上的每个插件。