官方在1.7就已经取消使用live()方法了,所以建议使用on()方法。
温馨提醒一下:参数里面被[]包里来的都是可选参数
1、bind(type,[data],fn(eventObject)) 为每个匹配元素的特定事件绑定事件处理函数
type
: 含有一个或多个事件类型的字符串,由空格分隔多个事件。比如"click"或"submit",还可以是自定义事件名。这类类型可以包括如下:blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, change, select, submit, keydown, keypress, keyup, error 。这里需要注意的是,这里用的都是javascript里面的事件方法,而不是JQuery里面的,JQuery里面的事件方法均在JavaScript 前面多了一个“on”,比如onclick,onblur 等等。
data
:作为event.data属性值传递给事件对象的额外数据对象,这个参数有个不错的用处,用来处理闭包的问题,待会儿给大家端上栗子~
fn
:绑定到每个匹配元素的事件上面的处理函数
01\先来个简单的栗子
$('a').bind('click',function(){
alert('ok')
})
02\同时它也可以绑定多个事件(也可以按照下面的on()绑定多个事件的写法来):
$('.test').bind('mouseenter',function(){
console.log('mouseenter')
}).bind('mouseout',function(){
console.log('mouseout')
})
03\bind()事件的对象
fn
这个回调函数可以接受一个参数,当这个函数被调用时,一个JavaScript事件对象会作为一个参数传进来。
这个事件对象通常是没有必要且可以省略的参数,因为当这个事件处理函数绑定的时候就能够明确知道他在触发的时候应该做些什么,通常就已经可以获得充分的信息了。然而在有些时候,在事件初始化的时候需要获取更多关于用户环境的信息。
栗子如下:
bind()事件
Click or double click here.
这里的主要功能是为了事件当用户点击p这个对象时,把当前相对于页面的坐标显示出来,这里就用到了event这个对象。把参数传进去
04\unbind()事件
unbind(type,[data],fn)时bind()的反向操作,从每个匹配元素中删除绑定的事件。如果没有参数,则删除所有绑定的事件。你也可将你用bind()注册的自定义事件取消绑定。如果提供了事件类型作为参数,则只删除该类型的绑定事件。如果把在绑定时传递的处理函数作为第二个参数,则只有这个特定的事件处理函数会被删除。
栗子上来:
unbind()事件
失去焦点