jquery事件

blur():该函数会调用执行绑定到blur事件的所有函数,包含浏览器的默认行为。可以通过返回false来防止触发浏览器的默认行为。blur事件会在元素失去焦点的时候触发,既可以使鼠标行为,也可以使tab键离开。

change():这个函数会调用执行绑定到change事件的所有函数,包括浏览器的默认行为。可以通过返回false来防止触发浏览器的默认行为。change事件会在元素失去焦点的时候触发,也会当其值在获得焦点后改变时触发。

click():点击事件会在你的指针设备的按钮在元素上单击时触发。单击的定义是在屏幕的同一点触发了mousedown和mouseup几个事件触发的顺序是:mousedown -> mouseup -> click

dblclick():该函数会调用执行绑定到dblclick事件的所有函数,包括浏览器行为。可以通过在某个绑定的函数中返回false来防止触发浏览器默认行为。dbclick事件会在元素的同一点双击时触发。

error():该函数会调用执行绑定到error事件的所有函数,包括浏览器行为。可以通过在某个绑定的函数中返回false来防止触发浏览器的默认行为。

keydown():该函数会调用执行绑定到keydown事件的所有函数,包括浏览器行为。可以通过在某个绑定的函数中返回false来防止触发浏览器默认行为。keydown事件会在键盘按下时触发。

keypress():该事件会在敲击按键时触发。敲击按钮的定义为按下并抬起同一个按键。这几个事件发生的顺序是:keydown -> keyup -> keypress

keyup():该函数会调用执行绑定到keydown事件的所有函数,包括浏览器行为。可以通过在某个绑定的函数中返回false来防止触发浏览器默认行为。keyup会在按键释放时触发。

load():如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像。如果绑定在元素上,则当元素的内容加载完毕后触发。注意:只有当在这个元素完全加载完之前绑定load的处理函数才会在他加载完后触发。如果之后再绑定就永远不会触发了。所以不要在$(document).ready()里绑定load事件,因为jquery会在所有dom加载完成后再绑定load事件。

mousedown():mousedown事件在鼠标在元素上点计划触发

mouseup():会在鼠标点击对象释放时触发

mouseover():通过鼠标在元素上移动来触发,事件处理函数会被传递一个变量-事件对象,其.clientX和.clientY属性代表鼠标的坐标。

mouseout():在鼠标从元素上离开后会触发。

mouseover():在鼠标移入对象时触发。

resize():当文档窗口改变大小时触发

scroll():当滚动条发生变化时触发

select();当用户在文本框(包括input和textarea)中选择某段文本时触发select事件

 

 

hover(over,out):一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种"保持在其中"的状态。

当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数,当鼠标移出这个元素时,会触发指定的第二个函数。而且,会伴随着对鼠标是否仍然处在特定元素中的检测(如:处在div中的图像),如果是,则会继续保持"悬停"状态,而不触发移出事件(修正了使用mouseout事件的一个常见错误)

例:鼠标悬停的表格加上特定的类

$("td").hover(

  function(){$(this).addClass("hover")},

  function(){$(this).removeClass("hover")}

);

toggle(fn,fn):每次点击后依次调用函数。如果点击了一个匹配的元素,则触发指定的第一个函数,当再次点击同一个元素时,则触发指定的第二个函数,如果有更多函数,则再次触发,直到最后一个。随后的每次点击都重复对这几个函数的轮番调用。可以使用unbind("click")来删除。

 <ul>
    <li>Go to the store</li>
    <li>Pick up dinner</li>
    <li>Debug crash</li>
    <li>Take a jog</li>
  </ul>  

$(document).ready(function(){

  $("li").toggle(

    function(){$(this).css({"list-style-type":"disc","color":"blue"})},

    function(){$(this).css({"list-style-type":"disc","color":"red"})},

    function(){$(this).css({"list-style-type":"","color":""})},

  );

})

结果:点击li时,第一遍会添加蓝色样式,第二遍添加红色样式,第三遍样式去除

 

bind(type,[data],fn):这个事件处理函数会接收到一个事件对象,可以通过它来阻止(浏览器)默认行为。如果既想取消默认的行为,又想阻止事件起泡,这个事件处理函数必须返回false.多数情况下,可以把事件处理函数定义为匿名函数。在不可能定义匿名函数的情况下,可以传递一个可选的数据对象作为第二个参数(而事件处理函数则作为第三个参数)

function handler(event){
alert(event.data.foo);
}
$("li").bind("click",{foo:"bar"},handler);

 

one(type,[data],fn):为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。

在每个对象上,这个事件处理函数只会被执行一次,其他规则与bind()函数相同。

例:当所有段落被第一次点击的时候,显示所有其文本

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

 

trigger(type,[data]):这个函数也会导致浏览器默认行为的执行。比如,如果用trigger()触发submit,则同样会导致浏览器提交表单。

$("li").bind("myEvent",function(event,message1,message2){

//一个普通的点击事件时,message1,message2是undefined类型。

//如果用下面的语句触发,那么message1指向hello,message2指向world

 

triggerHandler(type,[data])

  alert(message1+""+message2);

});

$("p").trigger("myEvent",["Hello","World"]);

加载时会显示hello world.

 

<button id="old">.trigger("focus")</button>
<button id="new">.triggerHandler("focus")</button><br/><br/>
<input type="text" value="To Be Focused"/> 

$("#old").click(function(){
  $("input").trigger("focus");
});
$("#new").click(function(){
  $("input").triggerHandler("focus");
});
$("input").focus(function(){   $("<span>Focused!</span>").appendTo("body").fadeOut(1000); }); 

点击focus按钮时,文本框里有有focus。点击triggerHandler按钮,则文本框不会聚焦

 

unbind([type],[data]):bind()的反向操作,从每一个匹配的元素中删除绑定的事件

如果没有参数,则删除所有绑定的事件。

var foo = function () {
  // 处理某个事件的代码
};

$("p").bind("click", foo); // ... 当点击段落的时候会触发 foo 

$("p").unbind("click", foo); // ... 再也不会被触发 foo 

 

live(type,fn) : 给所有当前以及将来会匹配的元素绑定一个事件处理函数,也能绑定自定义事件

目前支持click,dblckick,mousedown,mouseup,mousemove,mouseover,mouseout,keydown,keypress,keyup,还不支持 blur, focus, mouseenter, mouseleave, change, submit 

与bind()不同的是,live()一次只能绑定一个事件

这个方法跟传统的bind很像,区别在于用live来绑定事件会给所有当前以及将来绑定事件使用委派的方式。比如说:如果你给页面上所有的li用live绑定了click事件。那么当在以后增加一个li到这个页面时,对于这个新增加的li,其click事件依然可用。而无需重新给这种新增加的元素绑定事件。

 

ready(fn):当dom载入就绪可以查询及操纵时绑定一个要执行的函数。

这事事件模块中最重要的一个函数,因为它可以极大地提高web应用程序的响应速度。简单地说,这个方法纯粹是对向window.load事件注册事件的替代方法。通过使用这个方法,可以在dom载入就绪能够读取并操纵时立即调用你所绑定的函数。

posted @ 2013-01-07 11:36  helenjgao  阅读(190)  评论(0)    收藏  举报