标签:
今天了解了一下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/
标签:
原文地址:http://www.cnblogs.com/djlxs/p/5161811.html