jQuery事件绑定,解绑,触发

事件绑定

1.bind(type,[data],fn)

  --type: 含有一个或多个事件类型的字符串,由空格分隔多个事件。比如"click"或"submit",还可以是自定义事件名。

  --data:作为event.data属性值传递给事件对象的额外数据对象

  --fn:绑定到每个匹配元素的事件上面的处理函数

  例子:

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

2.delegate(selector,[type],[data],fn)

  --selector:选择器字符串,用于过滤器触发事件的元素。

  --type:附加到元素的一个或多个事件。 由空格分隔多个事件值。必须是有效的事件。

  --fn:当事件发生时运行的函数

  --data:传递到函数的额外数据

  例子:

$("div").delegate("button","click",function(){
  $("p").slideToggle();
});

3.on(events,[selector],[data],fn)

  --events:一个或多个用空格分隔的事件类型和可选的命名空间,如"click"或"keydown.myPlugin" 。

  --selector:一个选择器字符串用于过滤器的触发事件的选择器元素的后代。如果选择的< null或省略,当它到达选定的元素,事件总是触发。

  --data:当一个事件被触发时要传递event.data给事件处理函数。

  --fn:该事件被触发时执行的函数。 false 值也可以做一个函数的简写,返回false。

  例子:

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

 

 

 

解绑事件

1.unbind(type,[data|fn]])

  --type:删除元素的一个或多个事件,由空格分隔多个事件值。

  --fn:要从每个匹配元素的事件中反绑定的事件处理函数

  例子:

$("p").unbind( "click" )

2.undelegate([selector,[type],fn])

  --selector:需要删除事件处理程序的选择器。

  --type:需要删除处理函数的一个或多个事件类型。 由空格分隔多个事件值。必须是有效的事件。

  --fn:要删除的具体事件处理函数。

  例子:

$("p").undelegate( "click" )

3.off(events,[selector],[fn])

  --events:一个或多个空格分隔的事件类型和可选的命名空间,或仅仅是命名空间,比如"click", "keydown.myPlugin", 或者 ".myPlugin".

  --selector:一个最初传递到.on()事件处理程序附加的选择器。

  --fn:事件处理程序函数以前附加事件上,或特殊值false.

  例子:

$("p").off( "click", "**" )

 

 

注意:解除绑定事件:自身的绑定事件和动态绑定的事件都会被解绑

 

 

触发事件

触发事件:触发某个事件的时候在该事件内部调用了其他元素的某个事件方法

1.直接调用元素的事件方法:

  

$("div").click();

2.使用.trigger()方法

  trigger(type,[data])

    --type:一个事件对象或者要触发的事件类型

    --data:传递给事件处理函数的附加参数

  例子:

$("div").trigger("click");

3.使用.triggerHandle()方法

  triggerHandler(type,[data])

    --type:要触发的事件类型

    --data:传递给事件处理函数的附加参数

    例子:

$("div").triggerHandler("click");

 

注意:.trigger()和.triggerHandler()区别:前者会触发浏览器的默认行为,并执行事件,后者不会触发浏览器默认行为,但是会执行事件

 

 

 

 

 

特此声明:如需转载请注明出处,如有疑问请及时提出以便于改正,如有侵权,联系删除,谢谢

 

posted @ 2019-03-25 08:40  bignewbie  阅读(1092)  评论(0编辑  收藏  举报