Ajax 板


LINE

原网址 http://blog.jquery.com/2013/01/09/jquery-1-9-rc1-and-migrate-rc1-released/ 短网址 http://goo.gl/oqsNN 注意, 1.9 相对於之前版本异动改很大、非常大, 升级时请特别注意是否有正常运作。 旧有系统建议采用保守升级法,除了更新 jquery js , 另外也要载入 jquery-migrate.js plugin , 以避免因为升级造成现有系统出 bug。 你可以用类似以下的 code 换掉你现在的 jQuery:(当然 .js 应该先自己抓回家放) <script src="http://code.jquery.com/jquery-1.9.0rc1.js"></script> <script src="http://code.jquery.com/jquery-migrate-1.0.0rc1.js"></script> https://github.com/jquery/jquery-migrate/ --------------------------------- 其他更新摘要: @ 被移除的功能 jQuery.browser //移除 jQuery.fn.andSelf() //移除 jQuery.sub() //移除 jQuery.fn.toggle() (_event click signature only_) //修改行为,不过我不太确定是怎麽回事,我很少用这api。 "hover" pseudo-event name //移除 hover 的特别机制,所以没有 $(dom).on("hover") 这回事了 jQuery.fn.error() //移除功能 ajaxStart, ajaxSend, ajaxSuccess, ajaxError, ajaxComplete, ajaxStop global events on non-document targets //修改行为 //简言之,$(div).ajaxStart() 绑定的事件不会运作, //只有 $(document).ajaxStart() 才会运作 Use of attrChange, attrName, relatedNode, srcElement on the Event object (use Event.originalEvent.attrChange etc. instead) //移除事件物件属性 底下是本来就不在文件上的,除非你自己有去爬 source才有机会误用。 jQuery.fn.attr() using the pass argument (undocumented) jQuery.attrFn object (undocumented) jQuery.fn.data() data events (undocumented) jQuery.fn.data("events") to retrieve event-related data (undocumented) --------------------------------- 前面被移除的功能基本上比较重要,因为这次改版可预见会有升级灾难, 请大家升级时先尽量一起载入 jquery migrate js。 但即使做了 migrate ,还是要小心以下行为的改为, 虽然说这些行为都是一些冷门情境。 (说真的,没必要的话我建议大家先观望一下这个版本, 反正现在也还不是正式版。) 完整原文 http://jquery.com/upgrade-guide/1.9/ 以下为我稍微筛选翻译的摘要: @ $.fn.add 现在回传的 jQuery context 将会依照存在 dom 上的顺序排序, 如果不在 dom 上则会被排到最後 @ $.fn.addBack( selector ) 取代 $.fn.andSelf() 纯粹就是名字换掉而已,但这版 andSelf 还是会动。 (migrate 後会有 warning) @ .after(), .before(), and .replaceWith() with disconnected nodes 重点在 disconnected nodes ,也就是不在 document 里的 node, 如果你有建立新的元素的话,会被加进原本的 jQuery object nodes。 如底下这个例子 alert($("<div />").after("<div />").length); http://jsfiddle.net/b8g87/1/ 结果在 1.8.3 会是 2 但这样并不是我们预期的结果,所以在 1.9 後, 不管是不是 disconnected nodes ,都会回传原本的 context 不会改变。 http://jsfiddle.net/b8g87/2/ @ .appendTo, .insertBefore, .insertAfter, and .replaceAll 这几个函式的回传结果会是新的查询结果, 而不是回传原本的 jQuery object。 解释有点小复杂,请看原文: 基本上我判断是影响不大。 As of 1.9, these methods always return a new set, making them consistently usable with chaining and the .end() method. Prior to 1.9, they would return the old set only if there was a single target element. Note that these methods have always returned the aggregate set of all elements appended to the target elements. If no elements are selected by the target selector (e.g., $(elements).appendTo("#not_found")) the resulting set will be empty. @ Checkbox/radio state in a triggered "click" event 这是个老问题: 对一个 checkbox 而言,直接点击他触发的 click 事件, 跟手动 $(checkbox).trigger("click") 他的状态是不一致的。 用案例来讲就是这样: http://jsfiddle.net/f94RB/ 为什麽最後显示明明是有勾,但印出 false 呢? 因为这是过了那个 event 之後才事後勾起来的,时间差问题, 但是手工点击时,却是先把状态设定为勾起来再触发事件。 这个问题已经被修正。(透过触发原生 click 事件) @ Order of triggered "focus" events 还是一个自己 trigger event 时会造成不一致的行为。 浏览器原生的行为是当你点击新的元素取得 focus, 此时会先触发旧的 blur ,再执行新的 focus。 但自己 trigger 则会相反 Test 1 http://jsfiddle.net/HnM5X/2/ 原生自己点第一个 text input 再点第二个 text input 时, 结果会是 old focus old blur new focus 但 1.8.3 自己 trigger $("#old").focus(); $("#new").focus(); http://jsfiddle.net/HnM5X/3/ 结果则是以下顺序,1.9 就是修正成跟原生一样。 old focus new focus old blur (但是在 IE 底下因为它事件触发是非同步的,会有可能被重复 call , jQuery 官方建议使用 dom 的 focus 函式。 ex. $("selector").get(0).focus() ) @ jQuery(htmlString) versus jQuery(selectorString) 简言之, $("<div />") 这类的写法不被建议这样写了, 如果是用 "<" 开头的他还是会解读成 html , 但基本上他更希望你改用 $.parseHtml 函式... $.parseHTML 会回传 DOM 而不是 jQuery object ex. $($.parseHTML("Test <span> hello</span>)) 如果你看到 "invalid selector syntax" 这个错误, 可能就是该修这个了。 @ Events not fired by the .data() method; names with periods 基本上这是一个 undocument 行为的改变,照文件用的话应该不会有问题。 @ Ordering of disconnected nodes within a jQuery set 这版对於 jQuery object 里面的 nodes 要怎麽排意见很多 XDDD 过去许多版本几乎都用他在 document 里面的顺序, 在作为 jQuery 物件中, dom 物件的排序。 (parents() 算是一个例外,是由内到外的顺序,但是他已有在文件着明。) 但是如果有些元件已经不在 document 上(detach or remove), 这时候这个排序就会乱掉, 1.9 开始会按照在 document 上的排前面照序排, 不在 document 上的排在其後的规则进行。 /* 实在是太多了 XDDD 先睡 明天再来写完他 */ /* ... 未完待续 ...*/ -- Life's a struggle but beautiful. --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.34.116.11
1F:推 Fantasywind:先推 01/14 03:42
2F:推 duck10704:推 01/14 13:32
3F:推 amos6064:push 01/14 15:15
4F:推 tomap41017:推 01/15 01:03







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP