标签: document-ready

$(document).ready简写

以下是速记$(document).ready吗?

(function($){

//some code

})(jQuery);
Run Code Online (Sandbox Code Playgroud)

我看到这种模式使用了很多,但我找不到任何引用.如果它是速记$(document).ready(),是否有任何特殊原因可能无效?在我的测试中,似乎总是在准备好的事件之前开火.

javascript jquery document-ready shorthand

236
推荐指数
7
解决办法
15万
查看次数

ng-repeat完成事件

我想调用一些jQuery函数以div为目标.该表填充了ng-repeat.

我打电话的时候

$(document).ready()
Run Code Online (Sandbox Code Playgroud)

我没有结果.

$scope.$on('$viewContentLoaded', myFunc);
Run Code Online (Sandbox Code Playgroud)

没有帮助.

在ng-repeat群体完成后,有没有办法正确执行功能?我已经阅读了关于使用自定义的建议directive,但我不知道如何将它与ng-repeat和我的div一起使用...

javascript jquery document-ready angularjs angularjs-ng-repeat

203
推荐指数
7
解决办法
20万
查看次数

dom完成渲染后如何运行指令?

我有一个看似简单的问题,没有明显的(通过阅读Angular JS文档)解决方案.

我有一个Angular JS指令,它根据其他DOM元素的高度进行一些计算,以定义DOM中容器的高度.

类似于此的东西在指令内部发生:

return function(scope, element, attrs) {
    $('.main').height( $('.site-header').height() -  $('.site-footer').height() );
}
Run Code Online (Sandbox Code Playgroud)

问题是,当指令运行时,$('site-header')无法找到,返回一个空数组而不是我需要的jQuery包装DOM元素.

是否有我可以在我的指令中使用的回调只在DOM加载后运行,我可以通过正常的jQuery选择器样式查询访问其他DOM元素?

jquery dom callback document-ready angularjs

115
推荐指数
5
解决办法
13万
查看次数

$(文件).ready是否必要?

我在stackoverflow中看到了这个问题,但感觉它根本没有得到回答.

$(document).ready必要吗?

我将所有javascripts链接到页面底部,所以理论上它们都是在文档准备就绪后全部运行的.

jquery document-ready

107
推荐指数
2
解决办法
5万
查看次数

我什么时候应该使用jQuery的document.ready函数?

当我第一次开始使用Javascript/jQuery时,我被告知要使用document.ready,但我从未真正了解过原因.

有人可以提供一些基本指导,以便将javascript/jquery代码包装在jQuery中document.ready吗?

我感兴趣的一些主题:

  1. jQuery的.on()方法:我使用.on()AJAX 的方法(通常是动态创建的DOM元素)..on()点击处理程序应该始终里面 document.ready吗?
  2. 性能:将各种javascript/jQuery对象保存 document.ready 内部外部是否更高效(同样,性能差异是否显着?)?
  3. 对象范围:加载AJAX的页面无法访问上一页文档的对象.正确吗?他们只能访问document.ready 之外的对象(即真正的"全局"对象)?

更新:为了遵循最佳实践,我的所有javascript(jQuery库和我的应用程序的代码)都位于我的HTML页面的底部,我defer在我的AJAX加载页面上使用包含jQuery的脚本上的属性,以便我可以访问这些页面上的jQuery库.

javascript jquery dom event-handling document-ready

107
推荐指数
3
解决办法
7万
查看次数

Requirejs domReady插件vs Jquery $(文档).ready()?

我正在使用RequireJS并且需要在DOM上初始化一些东西.现在,RequireJS提供了domReady插件,但我们已经有了jQuery $(document).ready(),因为我需要jQuery,所以我可以使用它.

所以我有两个选择:

  1. 使用domReady插件:

    require(['domReady'], function (domReady) {
        domReady(function () {
            // Do my stuff here...
        });
    });
    
    Run Code Online (Sandbox Code Playgroud)
  2. 用途$(document).ready():

    $(document).ready(function() {
        // Do my stuff here...
    });
    
    Run Code Online (Sandbox Code Playgroud)

我应该选择哪一个,为什么?

这两个选项似乎都按预期工作.我对jQuery没有信心,因为RequireJS正在做它的魔力; 也就是说,由于RequireJS会动态添加脚本,我担心在加载所有动态请求的脚本之前可能会出现DOM.然而,只有domReady当我已经需要jQuery时,RequireJS才会增加额外JS的负担.

问题

  • 为什么domReady在我们可以使用jQuery时,RequireJS会提供一个插件$(document).ready();?我没有看到包含另一个依赖项的任何优点.
  • 如果只是为了满足需求,那么为什么不提供一个跨浏览器的AJAX呢?

据我所知,domReady文档准备好后,将不会获取或执行需要的模块,并且您也可以执行同样需要jQuery的模块:

require(['jQuery'], function ($) {
    $(document).ready(function () {
        // Do my stuff here...
    });
});
Run Code Online (Sandbox Code Playgroud)

为了更清楚我的问题:要求domReady或之间有什么区别jQuery

html javascript jquery document-ready requirejs

100
推荐指数
3
解决办法
3万
查看次数

为什么不推荐"$().ready(handler)"?

jQuery的API文档的网站ready

以下所有三种语法都是等效的:

  • $(文件).就绪(句柄)
  • $().ready(处理程序)(不建议这样做)
  • $(句柄)

做完作业后 - 阅读和播放源代码,我不知道为什么

$().ready(handler) 
Run Code Online (Sandbox Code Playgroud)

不推荐.第一种和第三种方式完全相同,第三种方法在缓存的jQuery对象上调用ready函数document:

rootjQuery = jQuery(document);
...
...

// HANDLE: $(function)
// Shortcut for document ready
} else if ( jQuery.isFunction( selector ) ) {
    return rootjQuery.ready( selector );
}
Run Code Online (Sandbox Code Playgroud)

但是ready函数没有与所选节点元素的选择器交互,ready源代码:

ready: function( fn ) {
    // Attach the listeners
    jQuery.bindReady();
        // Add the callback
    readyList.add( fn );
        return this;
},
Run Code Online (Sandbox Code Playgroud)

如您所见,它只是将回调添加到内部队列(readyList)并且不会更改或使用集合中的元素.这使您可以ready在每个jQuery对象上调用该函数.

喜欢:

  • 常规选择器:$('a').ready(handler) DEMO
  • 无意义选择器:$('fdhjhjkdafdsjkjriohfjdnfj').ready(handler) …

javascript jquery callback document-ready

88
推荐指数
2
解决办法
3610
查看次数

$(window).load和$(document).ready之间有什么区别?

我最近遇到了一个问题,我的JavaScript代码并将我的部分代码从我的代码中解决$(document).ready()$(window).load()解决了问题.

现在我明白之后会window.load被解雇document.ready,但为什么之后没有准备就绪document.ready,那之后window.load()呢?

javascript jquery document-ready

68
推荐指数
4
解决办法
6万
查看次数

jQuery $(document).ready()触发两次

所以我一直在网上搜索,试图找出这里发生的事情,我无法得到具体的答案.

我在我的网站上有一个$(document).ready,无论内部代码是什么,都会连接多次运行.

我已经阅读了jQuery的bug报告,了解如果你的语句中发生异常,.ready事件将如何触发两次.但即使我有以下代码,它仍会运行两次:

$(document).ready(function() {
    try{    
        console.log('ready');
        }
    catch(e){
        console.log(e);
    }
});
Run Code Online (Sandbox Code Playgroud)

在控制台中,我看到的是"准备好"两次记录.是否有可能另外一个有例外的问题会引起问题?我的理解是,所有.ready标签都是相互独立的,但我似乎无法找到它在哪里发挥作用?

这是该网站的主要部分:

<head>
<title>${path.title}</title>
<meta name="Description" content="${path.description}" />
<link href="${cssHost}${path.pathCss}" rel="stylesheet" type="text/css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript" charset="utf-8"><!----></script>
<script src="media/js/fancybox/jquery.fancybox.pack.js" type="text/javascript" ><!-- --></script>
<script src="/media/es/jobsite/js/landing.js" type="text/javascript" ><!-- --></script>
<script src="/media/es/jobsite/js/functions.js" type="text/javascript"><!-- -->    </script>
<script src="/media/es/jobsite/js/jobParsing.js" type="text/javascript" charset="utf-8"><!----></script>
<script src="/media/es/jobsite/js/queryNormilization.js" type="text/javascript" charset="utf-8"><!----></script>
<script src="${jsHost}/js/jquery/jquery.metadata.js" type="text/javascript" charset="utf-8"><!----></script>
<script src="${jsHost}/js/jquery/jquery.form.js" type="text/javascript" charset="utf-8"><!----></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.7/jquery.validate.min.js" type="text/javascript" charset="utf-8"><!----></script>
<script src="${jsHost}/js/jquery.i18n.properties-min.js" type="text/javascript" charset="utf-8"><!----></script>

<script type="text/javascript" charset="utf-8">

function updateBannerLink() {
    var s4 = location.hash.substring(1);
    $("#banner").attr('href','http://INTELATRACKING.ORG/?a=12240&amp;c=29258&amp;s4='+s4+'&amp;s5=^');
} …
Run Code Online (Sandbox Code Playgroud)

javascript jquery javascript-events document-ready

68
推荐指数
4
解决办法
8万
查看次数

jQuery的ready()方法的快捷方式

我已经看到了ready()方法的一些快捷方式,并想知道哪个实际上先发生,因为我的测试结果让我感到困惑.

$(document).ready(function(){
    alert("document ready");
});

$(window).load(function(){
    alert("window ready");
});

(function($){
    alert("self invoke");
})(jQuery);
Run Code Online (Sandbox Code Playgroud)

这里首先发生自我调用,然后是文档,然后是窗口.是自调用技术被认为是准备()方法?

jquery document-ready

42
推荐指数
3
解决办法
3万
查看次数