jq delegate,delegate的例句,jQuery中delegate()方法的用法详解

jq delegate,delegate的例句,jQuery中delegate()方法的用法详解

代理人()方法是为匹配元素的子元素添加一个或多个事件,并规定当这些事件发生时运行的函数。下面就是详细介绍,有需要的朋友可以来介绍一下。

代理人()方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。下面我们具体来了解一下。

语法结构:

代码如下:

$(选择器)。委托(选民的孩子,类型,数据,函数)

参数说明:

儿童选择器必需。规定要附加事件处理程序的一个或多个子元素。

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

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

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

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

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

代码如下:

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);

}

);

jq delegate,delegate的例句,jQuery中delegate()方法的用法详解