; } }); Jquery版本在1.5之前,返回的是XHR对象;当版本高于1.5之后,返回的是deferred对象,可以使用 done 和 fail。...所以新的写法如下: $.ajax("test.html") .done(function(){ alert("哈哈,成功了!")...; } ); $.when为多个事件指定相同的回调: $.when($.ajax("test1.html"), $.ajax("test2.html")) ...; },5000); }; 在未改装前使用无效:(原因在于$.when()的参数只能是deferred对象) $.when(wait()) .done(function(){ alert("哈哈...},5000); return df; // 现在返回的就是deferred对象了 }; 然后就可以使用了: $.when(wait()) .done(function(){ alert
学习jQuery Mobile也有一段时间了,越来越上手了,也越来越喜欢他了。我根本就没有理由拒绝他的好。这里我有分享一下我对它的配置项的使用说明一下。...属性,那么该元素会自动降低 jQuery Mobile //增强(jQuery Mobile 元素增强指的是 jQuery Mobile 对网页基本元素在样式上的丰富、交互上的增强以及相应的 HTML...这样开发者可以创建属于自己的命名空间,避免与 jQuery Mobile 原有的属性发生冲突, 便于制作自定义主题。...jQuery Mobile 建议在关闭 Ajax 导航和大量使用外部链接的情况下关闭这个特性。...&ui-page=subpageIdentifier 的形式,而在 &ui-page= 之前的哈希值会被 jQuery Mobile 向此 URL 地址做 Ajax 请求。
和 Jquery 操作 CSS&style 表单 JQuery 动态添加表单 获取 Jquery 对象数组中的所有文字 Jquery 对象的属性转为数组 Query select attributes...)(btn) 试了几个方法, 比如将参数放到.done()里面作为第二个参数等等都不行, 只需要建立一个闭包即可实现 .done()可以接受三个参数 function onMyUrlLoaded(...checked')==undefined) //判断是否已经打勾 单选组 radio: $("input[@type=radio]").attr("checked",'2');//设置 value=2 的项目为当前选中项... 下拉框 select: $("#sel").attr("value",'-sel3');//设置 value=-sel3 的项目为当前选中项 $("1111...规定预计的服务器响应的数据类型。默认地,jQuery 将智能判断。
本文不是初级教程,针对的读者是那些已经具备jQuery使用经验的开发者。如果你想了解jQuery的基本用法,请阅读我编写的《jQuery设计思想》和《jQuery最佳实践》。...请看下面的代码,它用到了一个新的方法$.when(): $.when($.ajax("test1.html"), $.ajax("test2.html")) .done(function(){...很自然的,你会想到,可以使用$.when(): $.when(wait()) .done(function(){ alert("哈哈,成功了!")...$.when(wait(dtd)) .done(function(){ alert("哈哈,成功了!")...}; $.when(wait(dtd)) .done(function(){ alert("哈哈,成功了!")
utm_source=tuicool&utm_medium=referral 看过第一篇,再看jquery领悟很多。 jquery的defferd和ES6中的有很大不同,概念类似,名称不同。...ajax中的同义词为:$.ajax().complete( ) 6、$.when的用法 和Es6不同的是,接受的不是一个数据。then响应的值数据时,也不是数据。...7、ajax与Deferred的关系 该部分照抄原文。没什么好补充的,请记住只用done,fail,always即可。...jquery中Deferred对象涉及到的方法很多,本文尽量分门别类的来介绍,希望能帮大家理清思路。...$.when是一个全局的方法,用来并行运行多个异步任务,与ES6的all是一个功能。
为了改变这一点,jQuery开发团队就设计了deferred对象。 简单说,deferred对象就是jQuery的回调函数解决方案。...请看下面的代码,它用到了一个新的方法$.when(): $.when($.ajax(“test1.html”), $.ajax(“test2.html”)) .done(function(){ alert...很自然的,你会想到,可以使用$.when(): $.when(wait()) .done(function(){ alert(“哈哈,成功了!”)...$.when(wait(dtd)) .done(function(){ alert(“哈哈,成功了!”)...$.when($.ajax( “/main.php” )) .then(successFunc, failureFunc ); 如果then()有两个参数,那么第一个参数是done()方法的回调函数,
为了改变这一点,jQuery开发团队就设计了deferred对象。 简单说,deferred对象就是jQuery的回调函数解决方案。...请看下面的代码,它用到了一个新的方法$.when(): $.when($.ajax("test1.html"), $.ajax("test2.html")) .done(function(){ alert...很自然的,你会想到,可以使用$.when(): $.when(wait()) .done(function(){ alert("哈哈,成功了!")...如果直接返回dtd,$.when()的默认执行状态为"已完成",立即触发后面的done()方法,这就失去回调函数的作用了。...(5)deferred.resolve()手动改变deferred对象的运行状态为"已完成",从而立即触发done()方法。 (6)$.when()为多个操作指定回调函数。
$.ajax() 的基本使用形式是: jQuey.ajax(settings) settings是一个对象,里面包含了所有的配置项。 url 请求的地址。...done和 fail互斥,只能激发一个。 process可以被重复激发,而 done和 fail只能激发一次。 然后,jQuery提供了一些函数用于添加回调,激发状态等。...jQuery还提供了一个 jQuery.when()的回调管理函数,可以用于方便地管理多个事件并发的情况。...当我们需要完成,像“请求A和请求B都完成时,执行函数”之类的需求时,使用 $.when()就可以了。...(defer_1, defer_2); new_defer.done(function () { console.log("hello"); }); 在 $.when(
jQuery开发团队就设计了deferred对象,来作为回调函数的解决方案。...由于jQuery.when(deferreds)方法只能接收defferred对象作为参数,所以我们需对上述wait改写!...说明其作用需要先说一下jQuery规定deferred对象的三种执行状态:未完成、已完成和已失败。...,或者调用progress()方法指定的回调函数(jQuery1.7版本添加)。...$.when($.ajax("/main.php" )) .then(successFunc, failureFunc ); 如果then()有两个参数,那么第一个参数是done()方法的回调函数
会输出什么样的结果呢? 如果不想覆盖第一个添加的click事件,需要使用第二种方法。那怎么给ajax添加多个回调事件呢? jQuery 中 Ajax 的发展 1....链式操作,多次调用 但在JQuery的1.5版本中,引入了 Deferred 对象,它返回的是deferred对象,允许注册多个回调函数,并且能传递任何同步或异步函数的执行状态–成功或失败。...也可以添加多个相同的回调函数: 1 $.ajax("test.html") 2 .done(function(){ alert("第一个done回调函数");} ) 3 .fail(function()...;} ); 简单说, Deferred 对象就是jQuery的回调函数解决方案,它解决了如何处理耗时操作的问题,对那些操作提供了更好的控制,以及统一的编程接口。 3....请看下面的代码,它用到了一个新的方法 $.when() : $.when($.ajax("test1.html"), $.ajax("test2.html")) .done(function(){ alert
它是jQuery出的,为了解决回调嵌套,方便开发者的一种函数。 好像好高深,其实我们很早就有接触,并经常在用到。...$.getJSON().done(function(){ alert('成功'); }) jQuery的$.ajax()本身就支持Deferred,它可以链式补上 .done() .fail() 等方法来处理不同状态的结果...传统的回调要怎么写?反正我是晕了。 用$.Deferred()就很简单,getImgWidth()的定义不变,使用$.when()方法来处理同时完成的事件。...$.when(getImgWidth(), getImgWidth()).done(function(width1,width2){ alert('第一张图片宽度:'+ width1); alert...$.when() 为多个操作指定回调函数。 deferred.then() 有时为了省事,可以把done()和fail()合在一起写,这就是then()方法。
今天一个朋友问我一个问题,他想做一个win32的桌面应用程序,而且还希望程序能做出web页面那种漂亮的效果,可目前项目组的成员全是以前做前端的一批人,怎么办?...我想了一下,几乎毫不犹豫地推荐了node-webkit, 但又想起前段时间看到的atom-shell,于是也推荐了下atom-shell,随手写了个atom-shell的例子给他。...the javascript object is GCed. var mainWindow = null; // Quit when all windows are closed. app.on('...= 'darwin') app.quit(); }); // This method will be called when atom-shell has done everything //...从code.jquery.com/jquery-1.11.0.min.js下载过来重命名即可 上述所有文件放在一个PingDemo目录中 最后执行 1 /Applications/Atom.app/Contents
但当异步比较复杂的时候,代码会比较难组织。 jQuery 的 Deferred 是用来组织异步代码的。...(successFn).fail(failFn).always(alwaysFn); jQuery 的 $.ajax 返回的就是一个 Promise 对象。...如 $.ajax({ //... }).done(successFn).fail(failFn); 下面我会结合具体情况来介绍 Deferred 的使用。...用 Deferred 这么写 $.when(doThing1, doThing2) .done(doThing3) .done(doThing4); jQuery Defferred 的一些具体...,1 秒后淡入 $('.tar').fadeOut().delay(1000).fadeIn(); 其他 更多 Deferred 相关的方法见 jQuery 官方文档。
简单说,deferred对象就是jQuery的回调函数解决方案。deferred对象的含义就是”延迟”到未来某个点再执行。...四、为多个操作指定回调函数 $.when($.ajax("baidu.com"), $.ajax("google.com")) .done(function() { console.log...$.when(wait($.Deferred())) .done(function() { console.log("yes!")...); }; 如何为其制定回调函数 $.when(wait($.Deferred())) .done(function() { console.log("yes!")....when(.when(.ajax( “/main.php” )) .then(successFunc, failureFunc ); 如果then()有两个参数,那么第一个参数是done(
然后将目光移到done方法,透过其实现可知jQuery.Deferred是支持回调函数晚绑定的(jsDeferred不支持,Promises/A+规范支持),但均以resovleWith的参数作为回调函数的入参...辅助方法——jQuery.when 功能就是等待所有入参均返回值后,以这些返回值为入参调用回调队列的函数 $.when = function(object) { var args = arguments...jQuery1.5除了新增jQuery.Deferred特性,还以jQuery.Deferred为基础对ajax模块进行增强,相关代码如下: function done( status, statusText...(newDefer) { jQuery.each({ done: [fnDone, "resolve"] ,fail: [fnFail, "reject"]... 另外1.6对$.when进行了重构使代码更容易理解。
并且必须返回新的数据(可能是处理过的)传递给 success 回调函数。 success 当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。...$.ajax()的返回值为 jqXHR对象,因此可以利用 jqXHR对象的方法() jqXHR.done(function( data, textStatus, jqXHR ) {}); 成功回调选项的可选构造器...() and .fail() methods, allowing (as of jQuery 1.8) the underlying Promise to be manipulated....这四个回调函数是官网推荐的,可以取代上面四个回调函数,详细看http://api.jquery.com/jQuery.ajax/ jqXHR对象的属性 readyState responseXML...and/or responseText when the underlying request responded with xml and/or text, respectively status
Jquery中的promise的实现——deferred对象 deferred对象是jQuery的回调函数解决方案,它解决了如何处理耗时操作的问题,对那些操作提供了更好的控制,以及统一的编程接口。...注意,如果使用的是低于1.5.0版本的jQuery,返回的是XHR对象,没法进行链式操作;如果高于1.5.0版本,返回的是deferred对象,可以进行链式操作。...它允许你为多个事件指定一个回调函数 $.when($.ajax("test1.html"), $.ajax("test2.html")) .done(function(){ alert("成功...注意如果when()它的参数返回的不是一个Deferred或Promise对象,那么when方法的回调函数将立即运行。 普通函数如何使用回调函数呢?...; }); 这样wait函数的返回值就是Deferred对象,when()函数能生效,wait()函数运行完,就会自动运行done()方法指定的回调函数。
,是相对于浏览器窗口进行定位的, // 所以它的偏移就是getBoundingClientRect(),即获取某个元素相对于视窗的位置 if ( jQuery.css( elem...for the *real* offset parent, which can be the document or its root element // when a statically...border // jQuery.css( element, "borderTopWidth", true )的 true 表示返回数字,而不带单位 px parentOffset.top...,是不准确的,看下图 所以源码最后会: - jQuery.css( elem, "marginTop", true ) - jQuery.css( elem, "marginLeft", true )...(2)jQuery.css( elem, "width", true ) true的作用是返回该属性的数字,而不带单位 px (3)定位父元素存在,并且不等于目标元素,并且定位元素类型是 "元素类型
length; index++ ) { animation.tweens[ index ].run( 1 ); } // Resolve when...], }) 所以Animation.prefilters=1,defaultPrefilter的源码暂不解析 (2)关于jQuery.Deferred()的解释,请参考:jQuery中的Deferred...remove it when done (allowing for external removal) //运行Animation.tick()并安全地移除它 if ( !...的值,tween.unit是px,所以这段代码最终执行的是jQuery.style( 目标元素, 要变化的style属性, 要变化的值 ) (13)jQuery.style() 作用: 设置 DOM 节点的...jQuery的动画对象。