jQuery 的运行机制(How jQuery Works)
原文地址:http://learn.jquery.com/about-jquery/how-jquery-works/
linkjQuery: 基础知识
- <!doctype html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title>Demo</title>
- </head>
- <body>
- <a href="http://jquery.com/">jQuery</a>
- <script src="jquery.js"></script>
- <script>
- // Your code goes here.
- </script>
- </body>
- </html>
<script>元素的src属性必须指向jQuery的副本。从jQuery的下载页面下载jQuery的副本然后将jquery.js文件和你的HTML文件存储在同一目录下。
文档就绪后启动代码
- window.onload = function() {
- alert( "welcome" );
- }
然而,直到所有图像(包括横幅广告)都加载完毕,代码才会运行。为了文件一准备好就开始操作代码,jQuery有一个声明被称为ready事件(Ready Event):
- $( document ).ready(function() {
- // Your code here.
- });
例如在ready事件(Ready Event)中,你可以添加一个单击处理程序的链接:
- $( document ).ready(function() {
- $( "a" ).click(function( event ) {
- alert( "Thanks for visiting!" );
- });
- });
保存你的HTML文件,然后在浏览器中重新加载测试页面。点击链接应该先出现一个警示弹出窗口,然后继续按照默认行为导航到 http://jquery.com。
- $( document ).ready(function() {
- $( "a" ).click(function( event ) {
- alert( "As you can see, the link no longer took you to jquery.com" );
- event.preventDefault();
- });
- });
完整例子
- <!doctype html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title>Demo</title>
- </head>
- <body>
- <a href="http://jquery.com/">jQuery</a>
- <script src="jquery.js"></script>
- <script>
- $( document ).ready(function() {
- $( "a" ).click(function( event ) {
- alert( "The link will no longer take you to jquery.com" );
- event.preventDefault();
- });
- });
- </script>
- </body>
- </html>
添加和删除一个HTML类
- <style>
- a.test {
- font-weight: bold;
- }
- </style>
下一步,在脚本中添加 .addClass()声明:
- <span style="font-size:10px;">$( "a" ).addClass( "test" );</span>
现在所有的<a>都是粗体的。
- <span style="font-size:10px;">$( "a" ).removeClass( "test" );</span>
特殊效果
- <span style="font-family: 'Helvetica Neue', HelveticaNeue, Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255);"></span><pre code_snippet_id="220643" snippet_file_name="blog_20140306_10_1835179" name="code" class="javascript" style="color: rgb(51, 51, 51); line-height: 22.5px;">$( "a" ).click(function( event ) {
- event.preventDefault();
- $( this ).hide( "slow" );
- });</pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
当点击的时候这个链接缓慢的消失。
回调函数
无参数回调
- $.get( "myhtmlpage.html", myCallBack );
当 $.get() 调用myhtmlpage.html,它会执行myCallBack()函数。
有参数回调
执行带参数的回调函数可能会很棘手。
- $.get( "myhtmlpage.html", myCallBack( param1, param2 ) );
这段函数不会执行。
- $.get( "myhtmlpage.html", function() {
- myCallBack( param1, param2 );
- });
当$.get()方法完成获取网页myhtmlpage.html,它会执行匿名函数,这个匿名函数会执行myCallBack(参数1,参数2)。
jQuery 的运行机制(How jQuery Works)的更多相关文章
- jQuery 插件运行机制和 $冲突解决
1.jQuery.fn.extend(object) 基本插件假设我们要创建一个插件,使一组元素中的文本变为绿色.我们要做的就是添加一个名为greenify的函数, $.fn 将像其他任何jquery ...
- jQuery的内部运行机制和原理
jQuery的优点: jQuery是一个非常优秀的JavaScript库,与Prototype,YUI,Mootools等众多的Js类库相比,它剑走偏锋,从Web开发实用的角度出发,抛除了其它Lib中 ...
- jquery.validate 验证机制
jquery.validate 验证机制 金刚 juqery juqery.validate 在开发系统时,使用了jquery.validate.js 这个验证插件,来校验数据合法性 重点 验证是以i ...
- 深入理解jQuery的Event机制
jQuery的Event模块非常强大.其功能远远比原生事件监听器强大许多,对同一个元素的监听只用一个eventListener,内部则是一个强大的观察者,根据匹配事件类型触发相应回调.jQuery不仅 ...
- 使用反射机制实现jQuery调用ashx类中的指定方法
使用反射机制实现jQuery调用ashx类中的指定方法 近期用asp.net做个小网站,但又不喜欢使用asp.net的服务器端控件,经过一番思量后确定前端采用原始的html.后台采用Linq to ...
- jquery 使用整理机制
短路表达式 与 多重短路表达式 短路表达式这个应该人所皆知了.在 jQuery 中,大量的使用了短路表达式与多重短路表达式. 短路表达式:作为"&&"和" ...
- jQuery的事件机制和其他知识
jQuery 设置宽度和高度 宽度操作: $(selector).height(); //不带参数表示获取高度 $(selector).height(200); //带参数表示设置高度 宽度操作: ...
- jquery的插件机制
jQuery的内核; (function( window, undefined ) { //这就是jQuery的原型 var jQuery = function( selector, context ...
- 深入理解JavaScript运行机制
深入理解JavaScript运行机制 前言 本文是写作在给团队新人培训之际,所以其实本文的受众是对JavaScript的运行机制不了解或了解起来有困难的小伙伴.也就是说,其实真正的原理和本文阐述的并不 ...
随机推荐
- javascript精雕细琢(三):作用域与作用域链
目录 引言 1.执行环境 2.作用域与作用域链 引言 作用域与作用域链是JS应用中无时无刻不在影响程序运行的关键属性,但是由于它的不可见性,或者说它存在的过于普遍,简直就像空气一样.所以 ...
- 搭建SVN+APACHE环境
项目需求 根据开发需求,建立svn环境,同时建立source.bd分支,source分支所有人都能访问,bd分支管理员kazihuo可访问.同时,在此基础上构建apache,以便于相关人员能通过浏览器 ...
- 【转】Elastic日报 第576期 (2019-04-05)
1.Elasticsearch性能测试实践http://t.cn/EiRzFiI2.监控Elasticsearch的插件推荐http://t.cn/EiRzFix3.支持机器数据的可扩展Elastic ...
- 经典全屏滚动插件fullPage.js
要写简单可以写的很简单,对着github上面的参数和注释随便写了个demo.这个插件十分高端大气上档次,配上良好的配色和布局,简单几笔就可以把网站装扮得十分洋气. 唯一的缺点就是,感觉对移动端的兼容性 ...
- 数据库日志文件(databasename_log.ldf)太大 如何清除
在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式.方案一:完全命令模式USE[master] GO ALTER DATABASE DNName SET RECOVERY ...
- 牛市必备的三个条件,A股现在还差几个
1.国家政策 2.中美贸易 3.资金支持 A股变化如神! 自本月10日受美股大跌的影响后,A股先是随之震荡跳水,千股跌停:随后因高层力挺和政策支持而V型反转,集体涨停:接着上演过山车走势,有时涨得令人 ...
- MI-NOTE黑砖
机型:MI NOTE LTE miui7刷机老是报错,remote:partition table doesn't exist,分区表不存在,于是使用磁盘模式,也看到警告不要中途拔下来,但是不知道是 ...
- windebug常用命令
使用~查看所有线程 切换到一号线程:~1s 查看所有线程的托管堆栈 ~* e!clrstack 怎么查看,当前线程下,变量的信息? 对于托管代码而言,最核心的命令就是!do(dump object的 ...
- 阿里面试回来,想和Java程序员谈一谈
引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...
- leetcode刷刷刷
1.链表节点的插入排序(写了个插入排序,但是报段错误,自己编译器里能运行) #include <iostream> #include <stdlib.h> #include & ...