工具方法:
1. jQuery.support:返回一个JS对象,该对象包含浏览器是否支持,某个属性。
如:判断浏览器是否支持XMLHttpRequest 对象, jQuery.support.ajax ,返回true/false
2. JQuery.error(string):该方法抛出一个Error对象,传入String参数用于Error对象描述
3. JQuery.globalEval(code):用于执行code代码,该方法类似于js的eval()函数
4. JQuery.isArray(object):判断object是否为数组,是返回true
5. JQuery.isEmptyObject(object):判断object是不是空对象(不包含任何属性),是则返回true
6. JQuery.isFunction(fn):判断fn是否为函数,是则返回true
7. jQuery.grep(array,callback,[invert]):对array进行数据筛选,callback作为筛选条件,返回true,则保留该元素,否则删除元素。invert指定为true,处理逻辑相反。
8. JQuery.inArray(value,array):返回value在array中出现的位置,如果不包含该元素,返回-1
9. JQuery,makeArray(obj):类数组转化为数组
10. JQuery.map(array.callback): 根据callback处理逻辑,将数组转化成新的满足条件的数组
11. JQuery.merge(first,second):合并数组,并保留重复元素
12. JQuery.type(obj):返回obj的类型
- obj不存在或者为undefined,返回undefined
- obj为null,返回null
- obj为true/false 时,返回“boolean”
- obj为string时,返回“string”
- obj为number是返回“number”
- obj为函数,返回“function”
- obj为array时,返回“array”
- obj为日期,返回“date”
- obj为正则,返回“regexp”
13. jQuery.parseJSON(string):将符合JSON规范的字符串转化为js对象或者数组
14. jQuery.parseXML(string):将符合XML规范的字符串解析为XML节点
15. JQuery.unique(array):删除array数组中的重复值
16. jQuery.uniqueSort(array):删array数组中重复值,3.0版本以后推荐用这个方法取代unique() 方法
事件相关方法:
1. ready(fn):指定当JQuery所对应的DOM对象装在完成时,执行fn函数,可以再fn函数中为jquery起别名,避免多个js库命名冲突。
$(document).ready()里指定的函数,一定要保证再body中没有指定的onload属性,否则不会触发$(document).ready()里指定的函数,同一个页面可以无限次使用,多次注册会按照先后顺序依次执行。
2. on(events [,selector] [,data],handler(eventObject)):当前匹配对象的selector的所有子元素的一个或者多个绑定事件处理函数handler
3. off(events [,selector] [,handler(eventObject)]):上述方法的反向操作,解绑处理函数
4. one(type,data,fn):绑定函数只出触发一次,触发之后,会自动解除该方法的绑定
5. trigger(type,[data]):触发绑定自定义事件
6. triggerHandler(type,[data]):同trigger,只是不会导致DOm元素执行同名的时间动作
7. hover(over,out):为当前jQ对象包含的dom元素的onmouseover 和 onmouseout事件绑定事件处理函数
8. toggle([speed],[easing],[fn]):切换
特定事件方法:
1. 鼠标事件:
click() 、dbclick() 、hover() 、mouseenter() 、mouseleave() 、mousemove()、mouseout()、mouseup()、focusin() 、focusout()
2. 键盘事件:
focusin()、focusout()、keydown()、keypress()、keyup()
3. 表单事件:
blur() 、change()、focus()、select()、submit()
4. HTML文档:
load()、ready()、unload()
5. 浏览器:
resize()、scroll()
jQuery的callback
jQuery的Deferred对象
1. done/fail : $.ajax() 发送异步请求,返回一个Deferred 对象,调用done 和 fail方法,来处理成功和失败状态
$.ajax({}).done(function() {}).fail(function() {})
2. jQuery.Deferred()方法来创建Deferred对象,包含方法:
-
3. jQuery.when(deferreds)将多个Deferred对象组合成一个Deferred对象,为多个Deferred对象同时指定耗时操作:
$.when($.ajax({url:'xx'}),calPrime(1,1000))
.done(function(){})
.fail(function(){})
扩展jQuery和jQuery插件
1. 扩展jquery对象的方法和功能
$.fn.extend({
check: function() {
return this.each(function() {
this.checked = true;
})
},
uncheck: function() {
return this.each(function() {
this.checked = false;
})
}
});
$("#check").click(function() {
$(":input").check();
});
$("#uncheck").click(function() {
$(":input").uncheck();
});
2. 扩展jquery命名空间下的方法,工具函数
$.extend({
test: function() {
alert('为Jquery对象命名空间扩展新的方法')
}
})
$("#btn").click(function() {
$.test();
});