成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? jQuery綁定自定義事件的魔法升級版
全站頭部文字 我要出現在這里
jQuery綁定自定義事件的魔法升級版 643 2024-02-26   

jQuery綁定自定義事件

首先讓我們來看看jQuery綁定自定義事件的使用方法,你可以使用bind或者live來訂閱一個事件(當然1.7以后也可以使用on了),代碼如下:

$("#myElement").bind('customEventName',function(e){ ... });
$(".elementsClass").live('customEventName',function(e){ ... });

然后通過如下方式來觸發事件:

$("#myelement").trigger('customEventName');

或者你也可以為自定義事件增加額外的參數,樣例如下:

$("#myelement").bind('customEventName',function(e,data){ if(data.custom) ... });
$("#myelement").trigger('customEventName',{ custom: false });

魔法升級

所謂魔法升級,其實是想讓整個程序所有的自定義事件能夠自動注冊并綁定jQuery上,然后執行的時候,所有注冊該事件的模塊都會執行。比如模塊User.js里定義的UserUpdate方法和Blogs.js里定義的BlogUpdate方法都定義了在發布一篇博客的時候需要執行的function函數,整個時候我們可以通過注冊統一的事件名稱(例如BlogAdded)bind到jQuery指定的一個容器上(例如document)上,然后發布博客成功以后,執行$(document).trigger("BlodAdded")就OK了。

下面我們給個通用的樣例代碼:

var components = [User, Blog, Group, Friend, Topic, Photo];
var eventTypes = ["AddComplete", "UpdateComplete", "DeleteComplete", "LockComplete", "UnLockComplete"];
$.each(components, function(i,component) {
 $.each(eventTypes, function(i,eventType) {
  var handler = component[eventType];
  if (handler) $(document).bind(eventType, handler);
 });
}) 

然后每個js模塊定義的代碼安裝如下格式:

User= {
 AddComplete: function(e, data) {
 //...
 },
 UpdateComplete: function(e, data) {
 //...
 }
} 

這樣,不管在任何地方,如果我們需要的話,就可以使用jQuery的方式來觸發我們的事件了:

$(document).trigger("UpdateComplete", data); 

通過這種方法,大家可以發現一個模塊的method只能注冊一個事件,那如果我們通過一個方法來注冊多個事件觸發的話,可以使用如下方式:

var blogController = {
 blogAddOrUpdateComplete: function() {
 //...
 }
}
blogController.blogAddComplete = blogController.blogUpdateComplete = blogController.blogAddOrUpdateComplete; 

最后注意:本文只是展示一個簡單的例子,不要混用不同module同一事件名稱的用法哦,比如,User.js里的AddComplete和Blog.js里的AddComplete可能根本就沒有關系,也就是說只處理自己相應的邏輯,這時候,就不應該統一處理這個事件,但如果要檢測的東西是一樣的話,就可以使用,比如DisableUserComplete,就可以通用,因為User模塊需要處理禁用賬戶以后的操作,Blog模塊可能也需要處理禁用賬戶以后的操作。

以上就是本文的全部內容,了解更多jQuery的語法,大家可以查看:《jQuery 1.10.3 在線手冊》,也希望大家多多支持綠夏網。



主站蜘蛛池模板: 内蒙古电视台雷蒙| 挖掘机动画片儿童| 我不是教主漫画免费下拉式| 韶山研学心得体会800高中| 拜金女郎| 回收名表价格查询| 麦子叔| 浙江卫视今天全部节目表| 姿metcn张筱雨人体1| 成人在线免费播放视频| 中医把脉| 大幻术师| 国家励志奖学金个人主要事迹1500字 | 伤残等级1-10标准图| 电影《uhaw》完整版| 大红灯笼高高挂剧情介绍| 爱之梦钢琴谱| ..k| 林莉娴| 变形金刚6免费完整版在线观看| 抗日电影大突围完整版| 中国宇航员遇难| 李英恩| 六年级上册英语书电子版翻译| 男同视频在线| ,xx| 杨紫和肖战演的电视剧是什么| 涂口红的正确方法视频| baekhyun| 打手板心视频80下| 欧美比基尼美女| 许忠| 天国车站在线观看| 女女床戏| 五月天丁香婷婷| 四级词汇电子版| 女公安毛片免费观看| 根深蒂固2电视剧| 加入青协的个人简历模板| 一个蛋挞的热量| 国产老阿姨|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103