jQuery 事件

.blur()表单元素失去焦点。

.change()表单元素的值发生变化

.click()鼠标单击

.dblclick()鼠标双击

.focus()表单元素获得焦点

.focusin()子元素获得焦点

.focusout()子元素失去焦点

.hover()同时为mouseenter和mouseleave事件指定处理函数
.keydown()按下键盘(长时间按键,只返回一个事件)
.keypress()按下键盘(长时间按键,将返回多个事件)
.keyup()松开键盘.load()元素加载完毕

.mousedown()按下鼠标

.mouseenter()鼠标进入(进入子元素不触发)
.mouseleave()鼠标离开(离开子元素不触发)
.mousemove()鼠标在元素内部移动
.mouseout()鼠标离开(离开子元素也触发)
.mouseover()鼠标进入(进入子元素也触发)
.mouseup()松开鼠标
.ready()DOM加载完成
.resize()浏览器窗口的大小发生改变
.scroll()滚动条的位置发生变化
.select()用户选中文本框中的内容
.submit()用户递交表单
.toggle()根据鼠标点击的次数,依次运行多个函数
.unload()用户离开页面

以上这些事件在jQuery内部,都是.bind()的便捷方式。使用.bind()可以更灵活地控制

$('input').bind(
    'click change', //同时绑定click和change事件
    function() {
      alert('Hello');
    }
  );

有时,你只想让事件运行一次,这时可以使用.one()方法。


$("p").one("click", function() {
    alert("Hello"); //只运行一次,以后的点击不会运行
  });

.unbind()用来解除事件绑定。


$('p').unbind('click');
所有的事件处理函数,都可以接受一个事件对象(event object)作为参数,比如下面

例子中的e:

$("p").click(function(e) {
    alert(e.type); // "click"
  });
这个事件对象有一些很有用的属性和方法:

event.pageX事件发生时,鼠标距离网页左上角的水平距离
event.pageY事件发生时,鼠标距离网页左上角的垂直距离
event.type事件的类型(比如click)
event.which按下了哪一个键
event.data在事件对象上绑定数据,然后传入事件处理函数
event.target事件针对的网页元素
event.preventDefault()阻止事件的默认行为(比如点击链接,会自动打开新页面)
event.stopPropagation()停止事件向上层元素冒泡
在事件处理函数中,可以用this关键字,返回事件针对的DOM元素:

$('a').click(function() {
    if ($(this).attr('href').match('evil')) { //如果确认为有害链接
      e.preventDefault(); //阻止打开
      $(this).addClass('evil'); //加上表示有害的class
    }
  });
有两种方法,可以自动触发一个事件。一种是直接使用事件函数,另一种是使用.trigger()或.triggerHandler()。

$('a').click();
$('a').trigger('click');

posted on 2012-07-19 09:56  judy_ma0605  阅读(102)  评论(0编辑  收藏  举报

导航