jquery (function($){}) 和 $(function(){})



一、先看

jQuery(function(){
});
全写为
jQuery(document).ready(function(){

});

意义为在DOM加载完毕后执行了ready()方法。
二、再看

(function(){

})(jQuery);
其实际上是执行()(para)匿名方法,只不过是传递了jQuery对象。

三、总结

jQuery(function(){ });用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在。不可用于存放开发插件的代码,因为jQuery对象没有得到传递,外部通过jQuery.method也调用不了其中的方法(函数)。
(function(){ })(jQuery);用于存放开发插件的代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码请小心使用。

$.fn是指jquery的命名空间,加上fn上的方法及属性,会对jquery实例每一个有效。
如扩展$.fn.abc()
那么你可以这样子:$("#div").abc();
通常使用extend方法扩展,详细请看API.

$.fx是指jquery的特效。
如果使用显示、滑动、淡入淡出、动画等。
$.fx.off可以关闭动画,其实是直接显示结果。

如:
(function($) {
$.fn.jdValidate = function(option, callback, def) {
var ele = this;
var id = ele.attr("id");
var type = ele.attr("type");
var rel = ele.attr("rel");
var _onFocus = $("#" + id + validateSettings.onFocus.container);
var _succeed = $("#" + id + validateSettings.succeed.container);
var _isNull = $("#" + id + validateSettings.isNull.container);
var _error = $("#" + id + validateSettings.error.container);
if (def == true) {
var str = ele.val();
var tag = ele.attr("sta");
if (str == "" || str == "-1") {
validateSettings.isNull.run({
prompts: option,
element: ele,
isNullEle: _isNull,
succeedEle: _succeed
}, option.isNull);
} else if (tag == 1 || tag == 2) {
return;
} else {
callback({
prompts: option,
element: ele,
value: str,
errorEle: _error,
succeedEle: _succeed
});
}
} else {
if (typeof def == "string") {
ele.val(def);
}
if (type == "checkbox" || type == "radio") {
if (ele.attr("checked") == true) {
ele.attr("sta", validateSettings.succeed.state);
}
}
switch (type) {
case "text":
case "password":
ele.bind("focus", function() {
var str = ele.val();
if (str == def) {
ele.val("");
}
validateSettings.onFocus.run({
prompts: option,
element: ele,
value: str,
onFocusEle: _onFocus,
succeedEle: _succeed
}, option.onFocus);
})
.bind("blur", function() {
var str = ele.val();
if (str == "") {
ele.val(def);
}
if (validateRules.isNull(str)) {
validateSettings.isNull.run({
prompts: option,
element: ele,
value: str,
isNullEle: _isNull,
succeedEle: _succeed
}, "");
} else {
callback({
prompts: option,
element: ele,
value: str,
errorEle: _error,
isNullEle: _isNull,
succeedEle: _succeed
});
}
});
break;
default:
if (rel && rel == "select") {
ele.bind("change", function() {
var str = ele.val();
callback({
prompts: option,
element: ele,
value: str,
errorEle: _error,
isNullEle: _isNull,
succeedEle: _succeed
});
})
} else {
ele.bind("click", function() {
callback({
prompts: option,
element: ele,
errorEle: _error,
isNullEle: _isNull,
succeedEle: _succeed
});
})
}
break;
}
}
}
})(jQuery);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值