您的位置:首页 > Web前端 > JQuery

jQuery之event

2016-01-26 22:33 741 查看
  今天了解了一下jQuery中的事件event,使用jQuery好处就是不用去考虑那么多的兼容。

  鼠标事件:click dblclick mousedown mouseup mouseenter mouseleave mouseover mouseout

  鼠标事件最常用的就是上述几个了。关于click mousedown mouseup 如果将这三个事件绑定在同一个元素上,那么触发的顺序将是 mousedown mouseup click 。然后再来看看mouseleave和mouseout这两个事件,乍一看怎么没什么区别呢!看看这篇文章,就知道了。mouseenter和mouseover也是同样的道理。

  focus focusin focusout blur change submit

  这几个个事件一般用在表单元素上,用法没什么好说的,讲一下blur和change事件的区别,blur就是在失去焦点时触发,而change则要在内容改变且失去焦点时触发。focus事件是不会冒泡的。例:

  

    <form action="a.php" method="post">
<input type="text" />
<input type="submit" value="提交"/>
</form>


    $("form").on("focus",function(){
      alert("focus");
    })


  此时在点击进入输入框时,是不会弹出警告框的,如果要实现则要使用focusin这个事件。

  keypress keydown keyup

  这三个是键盘事件。当浏览器捕获一个元素上键盘输入时,
keypress
就会发送个元素。这是类似
keydown
事件,除了当按键被一直按下(即连续插入字符的场合)时的处理。如果用户按下并按住这个键(不松开释放)的时候,
keydown
事件只触发一次,但是
keypress
会在每个字符插入的时候都会触发事件。此外,组合键(如Shift)会触发
keydown
事件,但不会触发
keypress
事件。

  keypress
事件处理程序可以附加到任何元素,但该事件只是发送到具有焦点的元素上。不同的浏览器中,可获得焦点的元素略有不同,但是表单元素总是能获取焦点,所以对于此事件类型表单元素是最合适的。  

  如果需要任何按键被捕获(例如,要实现网页全局上的快捷键),那么把这个事件附加到
document
对象上是非常有用的。所有的按键事件都会沿着各自的 DOM 树冒泡到
document
对象上,除非明确停止。

  要确定哪个键被按下,我们可以检测传递给处理函数的event 对象。而浏览器使用不同的属性来存储这些信息,jQuery的规范了
.which
属性,以便我们能够可靠地使用它来检索关键代码。

  值得注意的是
keydown
keyup
提供一个代码,表示哪一个键被按下,而
keypress
表示被输入哪个字符。例如,按下了小写的 "a",在
keydown
keyup
中,对应该键的代码是 65,但是对于
keypress
而言,接收到的代码是 97。如果是大写 "A" 的话,则所有的相关事件接收到的代码都是 65。由于这个区别,若想捕获敲击了哪个特殊键的话,例如,方向键,使用
.keydown()
.keyup()
更好。

  

  OK,常用的就这几种了。

  还有一个trigger函数,模拟触发事件。

  

         $("#test").on("click",function(){
alert(1);

})

$("#test").trigger("click");


  用户不用点击,就会自动触发点击事件。

  最后附上jQuery的中文版链接:http://www.jquery123.com/

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: