,,详解jquery事件delegate()的使用方法

,,详解jquery事件delegate()的使用方法

这篇文章主要详解了jquery事件代理人()的使用方法,委托()方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数,感兴趣的小伙伴们可以参考一下

我们先看官方是怎么说代理人()方法,委托()方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数,使用代理人()方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。

语法很简单

$(选择器)。委托(子选择器、事件、数据、函数)

参数说明

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

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

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

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

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

代表的函数是被某一类型的共同父元素调用。

listNode.delegate(' .条件-删除','点击,函数(e){

e。防止默认();

$(这个)。父母('。搜索条件项目)。移除();

});

完整实例(要实现的效果)

函数renderSearchConditions(选择id,条件){ var conditions template=' div class=' search-conditions-list-section ' '

ul class='搜索条件列表/ul '

/div ',

listNode=$(conditionsTemplate);

listitem template=' Li class=' search-condition-item ' data-type=' { conditon type } ' span { condition }/spana class=' condition-remove ' href=' # ' x/a/Li;

对于(条件中的变量键)

{

var condition=conditions[key].关键词,

conditionType=conditions[key].类型,

listItemNode=$ .substitute(listItemTemplate,{conditionType:conditionType,condition:condition });

listnode。append(listItemNode);

}

$(选择身份证).prepend(列表节点);

listNode.delegate(' .条件-删除','点击,函数(e){

e。防止默认();

$(这个)。父母('。搜索条件项目)。移除();

});

}

1.绑定的事务中,获取事务源,调用隐藏办法,并传入事务源对象:

$(文档)。委托('正文','点击',函数(e) {

var ev=e | | window.event//事务

//var target=ev。目标| | ev。src元素;//获得事务源

hide(ev.target || ev.srcElement,true);

});

底本用的$(窗口),然则IE8之前的,貌似有臭虫。

$(文档)不好之处,页面加载完后,会触发一次.

2.隐藏办法中,断定该事务源是否从指定元素中发出,即事务源元素是不是指定元素的子元素或者其本身。

//子元素断定====

如果(!窗户。find)html元素。原型。包含=函数(B){

返回这个。比较文档位置(B)-190

};

函数隐藏(dom,isClick) {

var nn,t,_isClick=!isClick

尝试{

对于(对象列表中的变量n){

nn=obj list[n];

t=nn。get选项(' target ')[0];

if(_ is click(t==DOM | | t . contains(DOM)))返回;

如果(!_isClick ||!nn.box[0].包含(DOM))nn。hide();

}

} catch(e) {

}

}

3.上方的隐藏办法中,点击变量断定是不是点击事务触发的。以便处理惩罚调整大小的调整大小用设置超时作处理惩罚,降落内存消费。

var reTime=null

$(窗口)。bind('resize ',function() {

if(reTime)清除超时(reTime);

reTime=setTimeout(hide,50);

});

以上就是关于jquery事件代理人()的使用方法相关内容,希望对大家的学习有所帮助。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用jquery实现图片轮播效果如何,jQuery图片轮播
  • 使用jquery实现图片轮播效果如何,jQuery图片轮播,使用jQuery实现图片轮播效果
  • 举例说明jquery中each函数的使用,jquery each()
  • 举例说明jquery中each函数的使用,jquery each(),JQuery中each()的使用方法说明
  • 一篇文章带你了解jquery动画人物,一篇文章带你了解jquery动画制作
  • 一篇文章带你了解jquery动画人物,jquery的动画,一篇文章带你了解jQuery动画
  • trigger的用法总结,jquery trigger 传参数
  • trigger的用法总结,jquery trigger 传参数,jQuery中值得注意的trigger方法浅析
  • js hover 触发事件显示另一元素,js hover 触发事件,jQuery中多个元素的Hover事件解决方案
  • js apply 实现原理,jquery apply用法_1
  • js apply 实现原理,jquery apply用法
  • js apply 实现原理,jquery apply用法,js中apply方法的使用详细解析
  • js apply 实现原理,jquery apply用法,JS中apply()的应用实例分析
  • jq获取radio选中的值,jquery radio 取值
  • jq获取radio选中的值,jquery radio 取值,Jquery获取radio选中值实例总结
  • 留言与评论(共有 条评论)
       
    验证码: