页面载入
在原生的javascript中页面载入通过window.onload方法去实现的,jQuery中是通过ready方法实现页面载入事件,写法:
$(document).ready(function(){
alert('jQuery页面载入事件');
});
在实际开发中,jQuery页面载入事件还有另外一种写法:
$(function(){
alert('简化的jQuery页面载入事件');
});
基本事件
在jQuery中对象没有事件一说,jQuery事件是通过对象的方法来实现,语法:dom对象.方法(事件处理程序)
• $(selector).blur(fn) 表示失去交点时候触发
• $(selector).change(fn) 表示改变时触发
• $(selector).click(fn) 鼠标单击时触发
• $(selector).dblclick(fn) 鼠标双击时触发 类GUI
• $(selector).focus(fn) 获得交点时触发
• $(selector).keydown(fn) 键盘按下时触发 返回键盘的值,最终是要通过translateMessage函数来转换他成为ascii
• $(selector).keyup(fn) 键盘弹起时触发
• $(selector).keypress(fn) 键盘按下时触发 直接返回ascii
• $(selector).load(fn) 与ready方法相同,表示页面加载时触发
• $(selector).unload(fn) 页面关闭时触发
• $(selector).mousedown(fn) 鼠标单击(左键)是触发
• $(selector).mouseup(fn) 鼠标弹起时触发(左键)
• $(selector).mousemove(fn) 鼠标移动时触发
• $(selector).mouseover(fn) 鼠标悬浮时触发
• $(selector).mouseout(fn) 鼠标离开时触发
• $(selector).resize(fn) 浏览器窗口大小改变时触发
• $(selector).scroll(fn) 滚动条滚动时触发
• $(selector).select(fn) 文字选中时触发
• $(selector).submit(fn) 表单提交时触发
• 阻止事件冒泡使用:event.stopPropagation();
• 阻止默认行为使用:
A标签可以使用javascript:; 或者javascript:void(0);
表单提交:使用event.preventDefault();
事件切换
• hover(over,out) 鼠标切换事件,第一个参数表示鼠标悬浮的时候触发,第二个参数表示鼠标离开时触发
$('img').hover(function(){
$('#div1').html('鼠标悬浮');
},function(){
$('#div1').html('鼠标离开');
});
• toggle(fn,fn…) 单击事件切换
以2个参数为例:
第一个参数表示:第一次单击时触发
第二个参数表示:第二次单击时触发
第三次点击的时候触发第一个事件处理程序
…依次类推
$('#btn').toggle(function(){
$('body').css('backgroundColor','red');
},function(){
$('body').css('backgroundColor','green');
},function(){
$('body').css('backgroundColor','pink');
});
动画效果
• 1.hide(speed,[callback])方法 等效为display:none
• 2.show(speed,[callback])方法 可以恢复hid()调用之前dispaly的值
• 3.fadein(speed,[callback])方法可以通过改变元素的不透明度显示
• 4.fadeout(speed,[callback])方法可以通过改变元素的不透明度隐藏
• 5.fadeTo(speed,opacity,[callback])方法可以改变元素的不透明度 第二个参数表示透明度:0~1
• 6.slideup(speed,[callback])向上滑动隐藏 通过改变高度
• 7.slidedown(speed,[callback])向下滑动显示 通过改变高度
• 8.toggle(speed,[callback])切换显示和隐藏
• 9.slideToggle(speed,[callback])切换上下滑动
• 10. fadeToggle(speed,[callback]); 切换fadein 和fadeout
• 11.自定义动画$(selector).animate(parameters,speed,[callback])
参数说明:
Parameters:json对象 示例{left:'250px',opacity:'0.5',width:'150px'}
Speed:”fast”、”slow” "normal"毫秒数值(不带引号)限定速度
Callback:动画效果完成后触发的回调函数
事件绑定
• $(selector).bind(type,[data],fn) 用的最多的,全部jQuery版本都支持
Type:事件类型
Data:传递给处理程序的参数,可选
Fn:事件处理程序
• $(selector).bind({type:fn,type:fn})
批量事件绑定,参数是个json对象
• $(selector).delegate(childSelector,type,[data],fn)
表示事件绑定
ChildSelector:必须参数,事件绑定的对象是当前元素的子元素
Type:事件类型
Danta:可选,传递的参数
Fn:事件处理程序
从jQuery的1.4.2+ 支持该绑定方法
• $(selector).on(type,[childSelector],[data],fn)
Type:事件类型
ChildSelector:可选,表示当前元素下的子元素作为绑定对象,如果不指定,表示绑定当前选择器,如果指定则绑定当前选择器下的子元素选择器
Data:可选,表示传递的参数
Fn:事件处理程序
从jQuery的1.7+版本支持该绑定方法,也是官方推荐的绑定方法。
• $(selector).live(type,[data],fn)
类似于bind方法
从jQuery的1.9以后,就不再支持这样的绑定方法。
• $(selector).one(type,[data],fn)
给选择器绑定事件,只绑定一次。再次触发的时候就触发不了事件处理程序。
• $(selector).unbind([type]) 参数可选,如果不指定,则解绑全部事件
取消绑定,解绑
Bind(on)绑定的click事件和自带的基本事件click的区别?
前者支持当前已经存在的元素和未来的元素,后者(click等基本事件)不支持绑定未来元素。
文档处理
插入、删除、复制、替换、包裹、查找
内部插入操作
• $(selector).append(content或函数的返回值) 在当前选择器内容尾巴追加内容
• $(content).appendTo(selector) 表示将内容追加到指定的选择器内容尾部中
Append所追加的内容可以是函数的返回值,而appendTo不行。
• $(selector).prepend(content) 在当前选择器元素内容首追加内容
• $(content).prependTo(selector) 将内容添加到当前选择器元素内容首部之前
prepend所追加的内容可以是函数的返回值,而prependTo不行。
外部插入操作
$(selector).after(content或者函数的返回值) 在选择器元素后(标签结束之后)插入
$(selector).before(conten或者函数的返回值)在选择器元素前(开始标签之前)插$(content).insertAfter(selector) 将内容添加到当前选择器元素之后(结束标签之后)$(content).insertBefore(selector) 将内容添加到当前选择器元素之前(开始标签之前)
主被动的关系:主动的方式可以将内容设置为函数的返回值。
被动添加时候,内容必须是要被标签所包含。
删除操作
• $(selector).empty() 表示清空当前选择器元素中的内容
• $(selector).remove() 表示移除当前元素
empty只清除了内容,而没有删除标签,这个是一个假删除,等价于$( selector).html(‘’);
复制(克隆)操作
• $(selector).clone() 表示复制指定的选择器元素
替换操作
• $(selector).replaceWith(content) 使用指定的content替换当前选择器中的内容
包裹操作
• $(selector).wrap() 包裹(外)包裹了整个选择器元素
• $(selector).wrapInner() 包裹(内)只包裹了当前选择器元素中的文字部分
查找操作
• $(selector).eq(index) 表示选择当前选择器(多个匹配结果)的第index个选择器
• $(selector).filter(selector) 表示从当前选择器(多个匹配结果)中过滤出指定选择器
• $(selector).not(selector) 表示从当前选择器(多个匹配结果)中过滤掉指定选择器后的剩下的选择器
• $(selector).find(childSelector) 表示查找当前选择器的后代元素中指定的选择器