jQuery事件详解之$(document).ready()
在页面加载结束后,浏览器会通过js为dom元素添加事件。原生的js中使用 window.onload 方法;在JQ中使用$(document).ready()。这个方法在dom载入就绪时对其进行操纵并调用执行它所绑定的函数。
高青网站建设公司成都创新互联公司,高青网站设计制作,有大型网站制作公司丰富经验。已为高青超过千家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的高青做网站的公司定做!
那么它和window.onload有何不同呢?
window.onload是在网页中所有元素 加上所有资源 ++完全加++载到浏览器后才执行。
而$(document).ready()中绑定的事件是在 dom完全就绪 时就可以被调用,此时对于jQuery来说都是可以被访问的(关联的资源可能并没有被加载完毕)。
举个例子来说,在$(document).ready()中定义了图片的宽高,但由于此时图片还没有被加载完毕,此时的宽高不会生效。要解决这个问题可以使用jQuery中的 load ()方法。
load()方法会在元素的onload事件中绑定一个处理函数,如果该处理函数绑定给window对象,则会在所有资源加载完毕后触发,如果load绑定在元素上则会在该元素加载完毕后触发。
既然window.onload比较完备为什么还要用jQuery中的$(document).ready()呢?
window.onload事件 每次只能保存对一个函数的引用 ,他会覆盖掉之前的函数,所以不能再现有行为上添加新的行为。如果引用了多个js文件,每个都需要window.onload方法就导致编码复杂。
使用$(document).ready()方法能够很好地解决这种问题,每次调用$document.ready()方法都会在现有行为上追加新的行为,这些行为会根据注册顺序依次执行。
jquery 中某一div被加载后触发事件,怎么写?
需要准备的材料分别有:电脑、html编辑器、chrome浏览器。
1、首先,打开html编辑器,新建html文件,例如:index.html,并引入jquery。
2、在index.html中的script标签,输入jquery代码:
$('div').load(function () {$('body').append('div has load');});
3、浏览器运行index.html页面,此时页面中div加载完会调用事件输出“div has load”。
请教一个jquery load函数的原理
1:表现形式:
传统的:
javascript的加载事件:
body onload = “函数()”
window.onload= function(){}
jquery :
① $(document).ready(function处理);
② $().ready(function处理);
③ $(function处理); 对第一种加载的封装而已
2:设置个数:
在同一个请求里边,jquery的可以设置多个,而传统方式只能设置一个
传统方式加载事件是给onload事件属性赋值,多次赋值,后者会覆盖前者。
jquery方式加载事件是把每个加载事件都存入一个数组里边,成为数组的元素,执行的时候就遍历该数组执行每个元素即可,因此其可以设置多个加载事件。:
3:执行时机:
传统方式加载事件,是全部内容(文字、图片、样式)在浏览器显示完毕再给执行加载事件。
jquery方式加载事件,只要全部内容(文字、图片、样式)在内存里边对应的DOM树结构绘制完毕就给执行,有可能对应的内容在浏览器里边还没有显示。
jquery load事件(callback/data)使用方法及注意事项
如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像。如果绑定在元素上,则当元素的内容加载完毕后触发。
注意:只有当在这个元素完全加载完之前绑定load的处理函数,才会在他加载完后触发。如果之后再绑定就永远不会触发了。所以不要在$(document).ready()里绑定load事件,因为jQuery会在所有DOM加载完成后再绑定load事件。因此,使用load方法时尽量把load方法写在页面顶部。
调用load方法的完整格式是:load(
url,
[data],
[callback]
),
其中:
•url:是指要导入文件的地址。
•data:可选参数;因为Load不仅仅可以导入静态的html文件,还可以导入动态脚本,例如PHP文件,所以要导入的是动态文件时,我们可以把要传递的参数放在这里。
•callback:可选参数;是指调用load方法并得到服务器响应后,再执行的另外一个函数。
一:如何使用data
1.加载一个php文件,该php文件不含传递参数$("#myID").load("test.php");
//在id为#myID的元素里导入test.php运行后的结果2.
加载一个php文件,该php文件含有一个传递参数
$("#myID").load("test.php",{"name"
:
"Adam"});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adam3.
加载一个php文件,该php文件含有多个传递参数。注:参数间用逗号分隔
$("#myID").load("test.php",{"name"
:
"Adam"
,"site":"61dh.com"});
//导入的php文件含有一个传递参数,类似于:test.php?name=Adamsite=61dh.com4.
加载一个php文件,该php文件以数组作为传递参数
$("#myID").load("test.php",{'myinfo[]',
["Adam",
"61dh.com"]});
//导入的php文件含有一个数组传递参数。注意:使用load,这些参数是以POST的方式传递的,因此在test.php里,不能用GET来获取参数。
二:如何使用callback
比如我们要在load方法得到服务器响应后,慢慢地显示加载的内容,就可以使用callback函数。代码如下:
复制代码
代码如下:
$("#go").click(function(){
$("#myID").load("welcome.php",
{"lname"
:
"Cai",
"fname"
:
"Adam",
function(){
$("#myID").fadeIn('slow');}
);
});
备注:
在load的url里加上空格后面就可以跟选择器了。
例如:
复制代码
代码如下:
$("body").load("test.html
#a");
当前题目:jquery加载事件,jq添加事件
网站链接:http://scgulin.cn/article/hoccgg.html