jQuery-多个$(document)怎么弄?

  • 回答 (5)
  • 关注 (0)
  • 查看 (19)

问题:

如果我链接到两个JavaScript文件中,都使用$(document).ready功能,会发生什么?一个覆盖另一个吗?或者两者都做$(document).ready吗?

例如,

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>

<script type="text/javascript" src="http://.../jquery1.js"></script>

<script type="text/javascript" src="http://.../jquery2.js"></script>

jquery1.js:

$(document).ready(function(){
    $("#page-title").html("Document-ready was called!");
});

jquery2.js:

$(document).ready(function(){
    $("#page-subtitle").html("Document-ready was called!");
});

我相信最好的做法是将两个调用合并成一个$(document).ready但在我这种情况下不太可能。

楼主石乐志楼主石乐志提问于
Uranus寄身测绘,紧追前沿技术的伪架构回答于

$(document).ready()'s与任何其他函数相同。一旦文件准备就绪,它就会启动。问题是当你在多个$(document).ready()'s中触发相同的函数时,就不会触发$(document).ready()'s

//this
<div id="target"></div>

$(document).ready(function(){
   jQuery('#target').append('target edit 1<br>');
});
$(document).ready(function(){
   jQuery('#target').append('target edit 2<br>');
});
$(document).ready(function(){
   jQuery('#target').append('target edit 3<br>');
});

//is the same as
<div id="target"></div>

$(document).ready(function(){

    jQuery('#target').append('target edit 1<br>');

    jQuery('#target').append('target edit 2<br>');

    jQuery('#target').append('target edit 3<br>');

});

两者的行为完全一样。唯一的区别是,虽然前者将取得同样的结果。后者的运行速度将提高一秒钟,并且需要更少的输入。*)

总之,在可能的情况下,只使用$(document).ready();

回答过的其他问题

数据可视化在生活的哪里可以应用?

Uranus寄身测绘,紧追前沿技术的伪架构

平昌冬奥会上的北京8分钟是怎样做到的,有哪些值得关注的黑科技呢?

Uranus寄身测绘,紧追前沿技术的伪架构

AR(增强现实)技术,之前火起来的精灵宝可梦游戏就属于这类的,还有ingress游戏都是AR类型的。可以了解一下。

在macOS Mojave中使用gcc进行编译?

Uranus寄身测绘,紧追前沿技术的伪架构

我想出了如何解决它。我去了

/Library/Developer/CommandLineTools/Packages/

然后打开并安装macOS_SDK_headers_for_macOS_10.14.pkg。

我的网站都两三个月了 还没备案成功 什么情况?

Uranus寄身测绘,紧追前沿技术的伪架构

如何将JQuery导入到Typescript文件中?

Uranus寄身测绘,紧追前沿技术的伪架构
你必须import * as $ from "jquery";根据typescript的文档和jquery的定义文件导入它,模块被定义为环境模块: declare module "jquery" { export = $; } 环境声明是您使用编译器做出的承诺。如果...... 展开详请

反应网格布局与打字稿不起作用

Uranus寄身测绘,紧追前沿技术的伪架构

有时,相同的命名导入在JavaScript中有效,但在TypeScript中无效。尝试使用require,它对我有用。

const ReactGridLayout = require('react-grid-layout');

关于作者

Uranus

寄身测绘,紧追前沿技术的伪架构

所属标签

扫码关注云+社区