注意:jQuery是一个集合,所有很多时候返回值也是一个集合

1.鼠标事件

$ele.click() 单击
 $ele.click( function(e) )
 $ele.click( [eventData ],function(e)) e.data=eventData
 ——————————————————————————————
 下列均有上面三种方式:
 $ele.dbclick() 双击
 $ele.mousedown() 鼠标按下
 $ele.mouseup() 鼠标松开
 $ele.mousemove() 鼠标移动
 $ele.mouseover() 鼠标移入
 $ele.mouseout() 鼠标移出
 $ele.mouseenter() 鼠标移入,不会进行冒泡
 $ele.mouseleave()鼠标移出,不会进行冒泡
 ——————————————————————————————
 $(selector).hover(handlerIn(function), handlerOut(function))

2.表单事件

下面均有开头的那三种方式:

$ele.focusin() 元素获取焦点时触发,不会进行冒泡处理
 $ele.focusout() 元素失去焦点时触发,不会进行冒泡处理
 $ele.focus() 元素获取焦点时触发
 $ele.blur() 元素失去焦点时触发
 $ele.change(function) 元素内容改变时触发
 $ele.select() 选择事件只能用于<inpuy>元素与<textarea>的元素
 $ele.submit() 表单提交时触发。

3.键盘事件

如在input中输入时:
$elem.keydown() 键盘按下,可以扑获组合键,问题每次获取的内容都是之前输入的,当前输入的获取不到
$elem.keyup() 键盘松开
$elem.keypress() 和keydown(),可以扑获到,常用这个

keypress事件与keydown和keyup的主要区别:
只能捕获单个字符,不能捕获组合键
无法响应系统功能键(如delete,backspace)
不区分小键盘和主键盘的数字字符

4.事件的绑定和解绑:

$ele.on( events ,[selectors],[ data ], function(event) ))

data 参数位置看清楚,event.data=data;data如果是对象则 event.data.value
selectors是元素,可以使用委托机制,例如$("div").on("click","p",fn)

一个事件绑定一个函数
$("#elem").on('click',function(){}) 
多个事件绑定一个函数
$("#elem").on("mouseover mouseout",function(){ });
多个事件绑定多个函数
$("#elem").on({
    mouseover:function(){},  
    mouseout:function(){}
});

$(“elem”).one(type,[data],fn) 绑定一个一次性的事件处理函数

$("p").one("click", function(){
  alert( $(this).text() );
});

$(“elem”).off([eventname]) 没有参数则将事件全部销毁

5.事件对象的使用

event.target 代表当前触发的元素
event.type:获取事件的类型
event.pageX 和 event.pageY:获取鼠标当前相对于页面的坐标
event.preventDefault() 方法:阻止默认行为
event.stopPropagation() 方法:阻止事件冒泡
event.which:获取在鼠标单击时,单击的是鼠标的哪个键,左键报告1,中间键报告2,右键报告3
event.currentTarget : 在事件冒泡过程中的当前DOM元素,等同于this
this和event.target的区别:

js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素;

this和event.target都是dom对象

如果要使用jquey中的方法可以将他们转换为jquery对象。比如this和jquery鼠标离开事件 jquery 鼠标移出_常用事件(event.target)的使用;