欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery事件绑定,解绑,触发

程序员文章站 2022-05-14 09:05:07
事件绑定 1.bind(type,[data],fn) --type: 含有一个或多个事件类型的字符串,由空格分隔多个事件。比如"click"或"submit",还可以是自定义事件名。 --data:作为event.data属性值传递给事件对象的额外数据对象 --fn:绑定到每个匹配元素的事件上面的 ......

事件绑定

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()区别:前者会触发浏览器的默认行为,并执行事件,后者不会触发浏览器默认行为,但是会执行事件

 

 

 

 

 

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