JQuery添加扩展方法(理解$.extend(),与$.fn.extend()方法区别)
生活随笔
收集整理的這篇文章主要介紹了
JQuery添加扩展方法(理解$.extend(),与$.fn.extend()方法区别)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
理解$.extend(),與$.fn.extend()方法區別
1.$.extend()方法
$.extend()方法在JQuery中有兩個用法,第一次是擴展方法,
第二個方法是
jQuery.extend([deep], target, object1,?[objectN])
返回值:Object
把2個對象合并得到新的target,deep是可選的(遞歸合并)
合并 settings 和 options,修改并返回 settings。
jQuery 代碼:
var settings = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name: "bar" }; jQuery.extend(settings, options);結果:
settings == { validate: true, limit: 5, name: "bar" }描述:
合并 defaults 和 options, 不修改 defaults。
jQuery 代碼:
var empty = {}; var defaults = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name: "bar" }; var settings = jQuery.extend(empty, defaults, options);結果:
settings == { validate: true, limit: 5, name: "bar" } empty == { validate: true, limit: 5, name: "bar" }2中擴展:
第一種,看代碼
| $(function(){ jQuery.extend({ modalshow:function?(options) { var?defaults = { triggerID:'LoginShow', callback:function?() { } }<br> //這里是$.extend的第二種用法<br> var opts = $.extend({},defaults, options); if?($("#"?+ opts.triggerID)[0] ==null) { var?$triggerBTN = $('<input type="button" value="LoginShow" id='?+ opts.triggerID +'/>'); $triggerBTN.bind("click",function?() { alert(opts.triggerID); }); $("body").append($triggerBTN); }else?{ $("#"?+ opts.triggerID).bind("click",function?() { alert(opts.triggerID); }) } } }); $.modalshow();//這里是調用的地方,id為'loginshow'的button可以先不再HTML中添加可以自動生成 }) |
第二種擴展
| $(function(){ jQuery.fn.extend({ modalshow:function?(options) { var?defaults = { //這里的this是JQuery對象 triggerID:this.attr("id"), callback:function?() { } }<br> ??//這里是$.extend的第二種用法<br> ? ?var opts = $.extend(defaults, options); $("#"?+ opts.triggerID).bind("click",function?() { alert(opts.triggerID); }) } }); $("#loginShow").modalshow();//這里是調用的地方,這里需要先在HTML中加入元素 }) |
轉載于:https://my.oschina.net/goto/blog/95281
總結
以上是生活随笔為你收集整理的JQuery添加扩展方法(理解$.extend(),与$.fn.extend()方法区别)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java try、catch、final
- 下一篇: MPLS TE基本配置-IS-IS