jQuery(二)

第一章 事件篇

鼠标事件

1. click与dbclick事件

click(): 监听用户的单机操作

$("#test").click(function() {
    //this指向 div元素
});

dbclick: 监听用户的双击操作

2. mousedown与mouseup

监听用户鼠标的按下和弹起。

$("button:eq(0)").mousedown(function(e) {
        alert('e.which: ' + e.which)
 })

** 用event 对象的which区别按键:**
敲击鼠标左键which的值是1,敲击鼠标中键which的值是2,敲击鼠标右键which的值是3

3. mousemove 事件

监听用户鼠标移动的操作

$("#test").mousemove(function() {
    //this指向 div元素 
});

4. mouseover 和 mouseout 事件

移入和移除事件

5. mouseenter与mouseleave事件

监听用户移动到内部的操作
mouseenter事件和mouseover的区别
关键点就是:冒泡的方式处理问题
mouseover为例:

鼠标离开此区域触发mouseleave事件

如果在p元素与div元素都绑定mouseover事件,鼠标在离开p元素,但是没有离开div元素的时候,触发的结果:

  1. p元素响应事件
  2. div元素响应事件
    这里的问题是div为什么会被触发? 原因就是事件冒泡的问题,p元素触发了mouseover,他会一直往上找父元素上的mouseover事件,如果父元素有mouseover事件就会被触发
    所以在这种情况下面,jQuery推荐我们使用 mouseenter事件
mouseenter事件只会在绑定它的元素上被调用,而不会在后代节点上被触发

6. hover 事件

鼠标划入和划出触发不同事件,相当于mouseover+mouseout或者mouseenter+mouseleave

$(selector).hover(handlerIn, handlerOut)

7. focusin 和 focusout 事件

focusin: 获得焦点时动作
focusout: 失去焦点时动作

$("#test").focusin(function() {
    //this指向 div元素
});

8. blur 与 focus 事件

用于处理表单焦点的事件,类似于 focusin 事件与 focusout 事件
不同: focus()在元素本身产生,focusin()在元素包含的元素中产生

9. change 事件

元素,