最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

jQuery.holdReady(hold)的使用方法实例详解

来源:动视网 责编:小采 时间:2020-11-27 20:21:39
文档

jQuery.holdReady(hold)的使用方法实例详解

jQuery.holdReady(hold)的使用方法实例详解:暂停或恢复.ready() 事件的执行。在$.holdReady()方法允许调用者延迟jQuery的ready事件。这种先进的功能,通常是使用动态脚本加载器,要加载的JavaScript比如 jQuery插件,如额外的ready事件才让事件发生,即使在DOM可能准备。此方法必须早在文件调用,在
推荐度:
导读jQuery.holdReady(hold)的使用方法实例详解:暂停或恢复.ready() 事件的执行。在$.holdReady()方法允许调用者延迟jQuery的ready事件。这种先进的功能,通常是使用动态脚本加载器,要加载的JavaScript比如 jQuery插件,如额外的ready事件才让事件发生,即使在DOM可能准备。此方法必须早在文件调用,在


暂停或恢复.ready() 事件的执行。

在$.holdReady()方法允许调用者延迟jQuery的ready事件。这种先进的功能,通常是使用动态脚本加载器,要加载的JavaScript比如 jQuery插件,如额外的ready事件才让事件发生,即使在DOM可能准备。此方法必须早在文件调用,在这样<head> jQuery脚本后,立即标记。ready事件之后调用此方法即使已经发射也将没有任何效果。

要延迟ready事件,第一次调用的$.holdReady(true)。当ready事件应该执行时,调用$.holdReady(false) 。请注意,多个holds可以放在ready事件上,每个$.holdReady(true)逐一调用。ready事件将不会执行,直到所有已发布了相应的一个$.holdReady(false) 和正常的文件准备好条件得到满足。

jQuery.holdReady(hold) 返回值类型boolean

jquery.holdReady()方法允许jQuery的完成事件被该函数锁定。
这个高级特性的典型应用场合是动态载入脚本,比如jQuery插件等。
在附加的脚本载入完成前,即使页面已经准备好,jQuery的完成事件也不会被触发。
这个函数必须在页面的靠前部分被调用,比如在标签当中,jQuery载入下一行。
在完成事件被触发后调用此函数没有任何效果。
使用方法:首先调用.holdReady(true)[调用后完成事件将被锁定]。当准备好触发完成事件时,调用.holdReady(false)。需要注意的是,
可以对完成事件添加多个锁定,每个锁定对应一次$.holdReady(false)[解锁]调用。
jQuery的完成事件将在所有的锁定都被解除,并且页面也已经准备好的情况下被触发。
实际上就是为一些需要依赖动态脚本的代码加的一个安全锁,
当所需要的动态脚本加载完毕后再执行就绪事件,而不是在DOM树构建成功后执行。

实例代码:

实例一:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="" />
<title>php.cn</title>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript">
jQuery.holdReady(true);
$(document).ready(function(){
 alert("我不会被弹出");
})
</script>
</head>
<body>
 
</body>
</html>

在以上代码中,由于添加了 jQuery.holdReady(true),所以尽管文档加载完成,也不会执行ready()中的函数。

实例二:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="" />
<title>php.cn</title>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
</head>
<body>
<button id="first">点击测试弹出</button>
<button id="second">解除延迟</button>
<script type="text/javascript">
jQuery.holdReady(true) 
$(document).ready(function(){
 $("#first").click(function(){
 alert("我不会被弹出");
 })
})
$("#second").click(function(){
 jQuery.holdReady(false);
})
</script>
</body>
</html>

当点击解除延迟之后,就可以弹出了。

再来看看小例子

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="../js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="index.js"></script>
<title>Insert title here</title></head>
<body>
<input type="button" id="btn" value="呵呵">
</body>
</html>

然后有两个js文件

首先加载的是index.js

$.holdReady(true);//将holdReady改为ture,点击按钮就没有任何效果,改为false就可以是用来里面的js事件$(function(){
 $('#btn').click(function(){
 alert(123);
 });

});

下面写了两个js文件 index.js和hold.js

jsp中只加载index.js,在index.js里决定是否加载hold.js
代码如下:

//hold.js$(function(){
 alert('这是使用holdReady加载出来的');
}); 

//index.jsjQuery.holdReady(true)
$.getScript("hold.js", function() {
 jQuery.holdReady(false);
});

加载hold.js的时候调用一个回调函数,将true改为false,这样就可以加载hold.js文件

文档

jQuery.holdReady(hold)的使用方法实例详解

jQuery.holdReady(hold)的使用方法实例详解:暂停或恢复.ready() 事件的执行。在$.holdReady()方法允许调用者延迟jQuery的ready事件。这种先进的功能,通常是使用动态脚本加载器,要加载的JavaScript比如 jQuery插件,如额外的ready事件才让事件发生,即使在DOM可能准备。此方法必须早在文件调用,在
推荐度:
标签: 方法 的使用 实例
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top