jQuery绑定自定义事件的魔力升级
绑定自定义事件首先,让我们来看一下jQuery绑定自定义事件的方式。您可以使用绑定或生存订阅事件(当然,您也可以在1.7之后使用),代码如下所示:
$(# myelement)。Bind('customeventname功能(e){…});
$(。elementsclass)。活('customeventname功能(e){…});
然后通过以下方式触发该事件:
$(# myelement )Trigger('customeventname);
或者您可以向定制事件添加其他参数,如下所示:
$(# myelement)。Bind('customeventname功能(E,数据){ if(数据。自定义)});
$(# myelement)。Trigger('customeventname,{自定义:假});
魔法升级
所谓的魔法升级实际上是使程序中的所有程序自动登记并结合jQuery,然后,在执行的时候,所有的模块,登记将执行事件。例如,在user.js模块userupdate和blogs.js在blogupdate方法定义的定义是在博客发布时需要的定义函数功能的实现,整个时间我们可以登记一个统一的事件的名称(如blogadded)结合jQuery是一套容器(如文件),然后再发布一个成功的博客,执行$(document)。Trigger(blodadded )好。
现在让我们给出一个通用的示例代码:
用户、博客、群组、朋友、主题、照片};
无功eventtypes = {addcomplete
元(组件,函数(i,组件){)
美元。每个(eventtypes,功能(我,事件类型){
VAR处理=组件事件类型} {;
如果(处理)$(document)。Bind(事件类型,处理程序);
});
})
每个js模块定义的代码然后按以下格式安装:
{用户=
AddComplete:功能(E,数据){
…
},
UpdateComplete:功能(E,数据){
…
}
}
因此,在任何地方,如果我们需要它,我们可以使用jQuery来触发我们的事件:
$(document)。Trigger(updateComplete
通过这种方式,您可以发现模块的方法只能注册一个事件。如果我们以一种方式注册多个事件,我们可以使用以下方法。
无功blogcontroller = { {
BlogAddOrUpdateComplete:函数(){
…
}
}
BlogController.blogAddComplete = blogController.blogUpdateComplete = blogController.blogAddOrUpdateComplete;
最后,注意:这只显示了一个简单的例子,不要在同一个事件名称中混用不同的模块。哦,例如,User.js AddComplete和blog.js addcomplete能永远记住,只有相应的逻辑,在这个时候,它不应该是这一事件的统一处理,但如果发现有什么不一样,你可以使用,如disableusercomplete,可以通用,因为用户需要后处理模块操作禁用该帐户,博客模块也可能需要手术治疗后禁用该帐户。
以上就是本文的全部内容。我们可以更多地了解jQuery的语法。你可以看到:jQuery 1.10.3在线手册