理解$.extend(),与$.fn.extend()方法区别
来源:互联网 发布:淘宝首页高级搜索 编辑:程序博客网 时间:2024/05/16 09:42
理解$.extend(),与$.fn.extend()方法区别
原文链接:http://www.cnblogs.com/navy235/archive/2011/05/17/2049120.html
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中加入元素
})
0 0
- 理解$.extend(),与$.fn.extend()方法区别
- 理解$.extend(),与$.fn.extend()方法区别
- 理解$.extend(),与$.fn.extend()方法区别
- $.extend()与$.fn.extend()区别
- $.fn与$.extend区别
- JQuery添加扩展方法(理解$.extend(),与$.fn.extend()方法区别)
- JQuery添加扩展方法(理解$.extend(),与$.fn.extend()方法区别)
- jquery.fn.extend与jquery.extend 区别
- $.extend与$.fn.extend的区别
- Jquery $.fn.extend与 $.extend区别
- [Javascript] JQuery $.extend与$.fn.extend区别
- $.fn.extend 与$.extend 的区别
- jquery.fn.extend与jquery.extend区别
- $.extend() 与 $.fn.extend() 的区别
- $.fn.extend();与$.extend();
- $.extend() 与 $.fn.extend()
- $.fn.extend 与$.extend
- $.fn.extend 与$.extend
- 第十六周项目二(1)字符串连接(数组名形参)
- ajax 表单提交技巧
- ThreadLocal介绍以及使用
- 后缀数组 hihocoder 1084 Extend KMP
- Cracking the coding interview--Q9.3
- 理解$.extend(),与$.fn.extend()方法区别
- gnumpy numpy 性能对比
- MD5加密方法,直接可用,不谢!
- 第十六周项目二——用指针玩字符串(2)
- STL sort
- android 滑动事件冲突解决 Touch事件处理机制
- 第十六周 OJ第四题----指针引出奇因子
- Kinect2.0+VS2013 试玩
- 第十六周项目一 数组的排序