• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >jquery > jQuery的文档处理程序详解

jQuery的文档处理程序详解

作者:dingyan954 字体:[增加 减小] 来源:互联网

dingyan954 通过本文主要向大家介绍了jQuery,文档处理程序等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了jQuery的文档处理程序。分享给大家供大家参考,具体如下:

jQuery文档处理程序

所谓的文档处理程序,是指jQuery中提供的$(document).ready事件,此事件会在dom加载完毕后触发,而window.onlaod和body.onload都是在页面完全加载后触发。

jQuery文档处理程序介绍

在jQuery中想实现在DOM加载完毕后的处理逻辑,只需要使用$(document).ready()事件。此事件函数称为"jQuery文档处理程序"。

可以在页面的任何位置,甚至是外部的js文件中,编写如下列语句:

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

则在页面的DOM加载完毕后,会立刻执行alert语句。如果页面上有大的图片、js文件等外部资源需要加载,jQuery的文档处理程序会在其之前执行,而window.onload和boyd.onload是在所有的资源文件加载完毕后执行的。

Ready()函数时jQuery"事件函数"中提供的一个jQuery对象函数,签名位ready(fn)。

fn是ready事件发生时执行的函数。

因为是jQuery对象函数,意味着可以在任何jQuery对象上调用:

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

上面的语句等同于:

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

虽然ready()函数可以作用在任何jQuery对象上,但是使用时一定要注意对象是否具有ready事件。

也可以使用"$(fn)"这种简化的形式:

$(function (){….})
//等效于$(document).ready(function(){…});

同jQuery中所有的事件对象一样,$(document).ready事件,会按照出现的先后顺序执行。

比如,可以调用两次$(document).ready事件:

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

则在DOM加载完毕后,首先输出"document.ready-1",然后输出"document.ready-2"。如果使用传统的:

Window.onload=function(){…..};

上面的代码会将window.onload原有的事件处理掉,然后绑定新的事件。

jQuery文档处理程序的优势

如果脚本需要在页面加载时执行,那么大部分的脚本都可以放在$(document).ready()事件中。

在举例jQuery文档处理程序的优势之前,先看一个常见的JavaScript编程错误:dom未加载完成即改变dom模型。

在传统的javascript编程中。有时会在页面的头部或者底部直接插入script模块并编写代码,比如下面的例子:

<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 
Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>jQueryStorm – 常见错误编程方式举例</title>
  <scriptlanguage="javascript"type="text/javascript"src="../include/jquery-1.7.1.js"></script>
</head>
<body>
<!-- 页面内容部分 –>
<div id="divMsg" style="border:solid 1px#000000;padding:20px;"></div>
<!-- 尾部模块 -->
<script language="javascript" type="text/javascript">
  //这条语句在某些情况下会导致错误
  Document.getElementById("divMsg").innerHTML="<divstyle=\"border:solid 2px #FF0000\">动态添加的图层</div>";
</script>
</boyd>
</html>

此例子在所有的浏览器都运行良好,但是存在隐患。因为在页面加载时,就在divMsg容器中添加了一个新的div对象,也就是添加了一个dom对象,当网速变慢或者页面很大需要一定的加载时间,会出现"中止操作"的错误。

这个错误甚至曾经在Google首页、淘宝等知名网站上都出现过,因为此错误很难在测试时候发现。

所以做web开发是要记住一条真理:永远不要再dom加载时修改dom结构。

如果需要在页面加载时修改dom结构,原始的做法是通过window.onload和body.onload事件实现,比如针对上面的错误例子,可以修改为:

<script type="text/javascript">
Window.onload=function()
{
  Document.getElementById("divMsg").innerHTML="<divstyle="\border:solid 2px #FF0000\">动态添加的图层</div>";
};
</script>

具体的实现方式还有很多,应用window.onload和body.onload是因为这两个事件都是在dom加载完成并且所有页面资源加载完成后才执行的,这是最简单的做法。或者根据"document.readyState"判断dom的状态,如果是"complete"则进行某些操作,jQuery的文档处理程序$(document).ready内部正是使用的此原理。

更多关于jquery相关内容感兴趣的读者可查看本站专题:《jquery常用操作技巧汇总》、《jQuery常见事件用法与技巧总结》、《jQuery操作json数据技巧汇总》、《jQuery操作xml技巧总结》及《jQuery扩展技巧总结》

希望本文所述对大家jquery程序设计有所帮助。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 基于jQuery对象和DOM对象和字符串之间的转化实例
  • jquery+css实现简单的图片轮播效果
  • 使用jQuery实现鼠标点击左右按钮滑动切换
  • jQuery实现上传图片前预览效果功能
  • jQuery初级教程之网站品牌列表效果
  • 基于jquery实现多选下拉列表
  • jQuery接受后台传递的List的实例详解
  • 详解jquery选择器的原理
  • jQuery上传插件webupload使用方法
  • 关于jquery form表单序列化的注意事项详解

相关文章

  • 基于JQuery的实现图片轮播效果(焦点图)
  • jquery修改网页背景颜色通过css方法实现
  • jQuery使用cookie与json简单实现购物车功能
  • jQuery实现当按下回车键时绑定点击事件
  • 使用jQuery ajaxupload插件实现无刷新上传文件
  • jQuery+ajax实现无刷新级联菜单示例
  • jquery操作checked属性以及disabled属性的多种方法
  • jQuery Mobile框架中的表单组件基础使用教程
  • js查找某元素中的所有图片地址的方法
  • Easyui Treegrid改变默认图标的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • jQuery中end()方法用法实例
    • 老生常谈jquery中detach()和remove()的区别
    • jQuery中:file选择器用法实例
    • jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
    • jquery实现控制表格行高亮实例
    • jQuery插件bgStretcher.js实现全屏背景特效
    • 20款超赞的jQuery插件 Web开发人员必备
    • jquery中append()与appendto()用法分析
    • 基于jQuery实现弹出可关闭遮罩提示框实例代码
    • jQuery插件EasyUI校验规则 validatebox验证框

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有