现在的位置: 首页 > web前端 > 正文

jquerydelegate函数参数

2020年07月20日 web前端 ⁄ 共 1314字 ⁄ 字号 评论关闭

  delegate()方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。使用delegate()方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。


  jquerydelegate语法


  $(selector).delegate(childSelector,event,data,function)


  参数 描述


  childSelector 必需。规定要附加事件处理程序的一个或多个子元素。


  event 


  必需。规定附加到元素的一个或多个事件。


  由空格分隔多个事件值。必须是有效的事件。


  data 可选。规定传递到函数的额外数据。


  function 必需。规定当事件发生时运行的函数。


  delegate()函数用于为指定元素的一个或多个事件绑定事件处理函数。


  此外,你还可以额外传递给事件处理函数一些所需的数据。


  即使是执行delegate()函数之后新添加的元素,只要它符合条件,绑定的事件处理函数仍然对其有效。


  此外,该函数可以为同一元素、同一事件类型绑定多个事件处理函数。触发事件时,jQuery会按照绑定的先后顺序依次执行绑定的事件处理函数。


  jQueryObject.delegate(selector,eventsMap)参数


  参数 描述


  selector String类型一个jQuery选择器,用于指定哪些后代元素可以触发绑定的事件。如果该参数为null或被省略,则表示当前元素自身绑定事件(实际触发者也可能是后代元素,只要事件流能到达当前元素即可)。


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


  data 可选/任意类型触发事件时,需要通过event.data传递给事件处理函数的任意数据。


  handler Functidelegate类型指定的事件处理函数。


  eventsMap Object类型一个Object对象,其每个属性对应事件类型和可选的命名空间(参数events),属性值对应绑定的事件处理函数(参数handler)。


  关于参数events中可选的命名空间,请参考最下面的示例代码。


  关于参数selector,你可以简单地理解为:如果该参数等于null或被省略,则为当前匹配元素绑定事件;否则就是为当前匹配元素的后代元素中符合selector选择器的元素绑定事件。


  参数handler中的this指向当前匹配元素的后代元素中触发该事件的DOM元素。如果参数selector等于null或被省略,则this指向当前匹配元素(也就是该元素)。


  delegate()还会为handler传入一个参数:表示当前事件的Event对象。


  参数handler的返回值与DOM原生事件的处理函数返回值作用一致。例如"submit"(表单提交)事件的事件处理函数返回false,可以阻止表单的提交。


  总之,jquerydelegate给大家简单的介绍了一些,希望大家多看看。


  

抱歉!评论已关闭.