一、jQuery事件
1,加载事件
$(document).ready(function(){...}) //等同于$(function(){..})
$(window).load(function(){...}) //等同于window.onload = fn
2,基本事件绑定
bind(type,[.data],fn) //可绑定多个事件:bind("mouseover mouseout",fn)
unbind(type,fn) //解除绑定
one(type,[.data],fn) //绑定的事件只执行一次
//简写绑定
click(fn)/dblclick(fn)
mouseover(fn)/mouseout(fn)
mouseenter(fn)/mouseleave(fn) //不包括移出元素内部的子元素
scroll(fn) //常用表单事件
focus(fn)/blur(fn)
keyup(fn)/keydown(fn) //按下和松下按键
keypress(fn) //按了个键值时候
change(fn) //表单文本域(input:text,textarea,select)值改变时触发
//合成事件
hover(fn1,fn2) //相当于bind("mouseenter")和bind("mouseleave")
toggle(fn1,fn2,fn3...) //连续单击事件,轮番调用多个函数 trigger(type) //触发对应type的事件,会执行浏览器默认操作,type可为自定义名称
triggerHandler(type) //绑定type事件,且阻止浏览器默认操作
3,事件的命名空间
bind("click.name",fn);
bind("mouseover.name",fn);
bind("click",fn); unbind(".name"); //命名空间解绑
trigger("click!"); //匹配不包含命名空间的click,即第三个
4,event事件对象
bind(type,function(event){....}) //添加事件对象参数,推荐命名为event或e,原理上可随便命名 //event属性
event.type
event.target
event.relatedTarget //触发事件的相关元素
event.pageX/event.pageY //相对于页面的x和y坐标
event.which //键盘事件:返回按键的ASCALL码,点击事件:1(左)2(中)3(右)。jq中整合了keyCode和charCode的兼容及鼠标事件
event.keyCode //返回按键的ASCALL码,建议用which//event方法,两个同时使用,相当于事件里边添加"return false;"
event.stopPropagation(); //阻止冒泡
event.preventDefault(); //阻止浏览器事件默认行为
注意:jQuery中,获取和设置类似disabled和checked属性时,用prop()方法代替attr(),只有true/false值。
二、jQuery动画
/*
*params:动画的最终样式或值的效果,如{left:"+=500px"},left会进行累加
*speed:动画时间,单位ms。slow为600,normal为400,fast为200
*callback:动画完成后执行的回调函数
*/
animate(params,speed,callback);
$div.animate().animate()... //按顺序执行动画
.stop([clearQueue],[goEnd]) //两个布尔值参数可选,无参数仅停止当前动画
.delay() //推迟执行 //动画简写
hide()/show() //相当于css("display":"none/block/inline")
slideUp()/slideDown() //通过高度上下拉伸隐藏
fadeIn()/fadeOut() //淡进、淡出
fadeTo(speed,~) //渐进方式调到指定透明度 //组合动画
toggle()
slideToggle()
fadeToggle() //animate(params,500),常用的params
{scrollTop:"-=50"}
{height:"+=50"}