龙须面

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

事件处理  Event Handling:

 

名称 说明 举例

bind( type, [data], fn )

为每一个匹配元素的特定事件(像click)绑定一个事件处理器函数。 当每个段落被点击的时候,弹出其文本: 

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

one( type, [data], fn ) 为每一个匹配元素的特定事件(像click)绑定一个一次性的事件处理函数。 当所有段落被第一次点击的时候,显示所有其文本: 

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

trigger( event, [data] ) 在每一个匹配的元素上触发某类事件。 

这个函数也会导致浏览器同名的默认行为的执行。比如,如果用trigger()触发一个'submit',则同样会导致浏览器提交表单。如果要阻止这种默认行为,应返回false。

你也可以触发由bind()注册的自定义事件

给一个事件传递参数: 

$("p").click( function (event, a, b) { 
  // 一个普通的点击事件时,a和b是undefined类型 
  // 如果用下面的语句触发,那么a指向"foo",而b指向"bar" 
} ).trigger("click", ["foo", "bar"]);

triggerHandler( event, [data] ) 这个特别的方法将会触发指定的事件类型上所有绑定的处理函数。但不会执行浏览器默认动作. 如果你对一个focus事件执行了 .triggerHandler() ,浏览器默认动作将不会被触发,只会触发你绑定的动作: 

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

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

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

你可以将你用bind()注册的自定义事件取消绑定。

如果提供了事件类型作为参数,则只删除该类型的绑定事件。

如果把在绑定时传递的处理函数作为第二个参数,则只有这个特定的事件处理函数会被删除。

把所有段落的所有事件取消绑定: 
$("p").unbind() 

将段落的click事件取消绑定: 
$("p").unbind( "click" ) 

删除特定函数的绑定,将函数作为第二个参数传入: 

var foo = function () { 
  // 处理某个事件的代码 
}; 
$("p").bind("click", foo); // ... 当点击段落的时候会触发 foo 
$("p").unbind("click", foo); // ... 再也不会被触发 foo

 

其他事件函数:

blur( )  blur( fn )  change( )  change( fn )  click( )  click( fn )  dblclick( )  dblclick( fn )  error( )  error( fn )  focus( )  focus( fn )  keydown( )  keydown( fn )  keypress( )  keypress( fn )  keyup( )  keyup( fn )  load( fn )  mousedown( fn )  mouseenter( fn )  mouseleave( fn )  mousemove( fn )  mouseout( fn )  mouseover( fn )  mouseup( fn )  resize( fn )  scroll( fn )  select( )  select( fn )  submit( )  submit( fn )  unload( fn )

posted on 2012-10-30 13:06  木子小黑  阅读(1011)  评论(0编辑  收藏  举报