首先讓我們來看看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));$("#myelement").trigger('customeventname',);
所謂魔法公升級,其實是想讓整個程式所有的自定義事件能夠自動註冊並繫結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) );
})
然後每個js模組定義的**安裝如下格式:
user= ,updatecomplete: function(e, data)
}
這樣,不管在任何地方,如果我們需要的話,就可以使用jquery的方式來觸發我們的事件了:
$(document).trigger("updatecomplete", data);
通過這種方法,大家可以發現乙個模組的method只能註冊乙個事件,那如果我們通過乙個方法來註冊多個事件觸發的話,可以使用如下方式:
var blogcontroller =}blogcontroller.blogaddcomplete = blogcontroller.blogupdatecomplete = blogcontroller.blogaddorupdatecomplete;
最後注意:本文只是展示乙個簡單的例子,不要混用不同module同一事件名稱的用法哦,比如,user.js裡的addcomplete和blog.js裡的addcomplete可能根本就沒有關係,也就是說只處理自己相應的邏輯,這時候,就不應該統一處理這個事件,但如果要檢測的東西是一樣的話,就可以使用,比如disableusercomplete,就可以通用,因為user模組需要處理禁用賬戶以後的操作,blog模組可能也需要處理禁用賬戶以後的操作。
wcf自定義繫結
一,建立自定義繫結 有時候我們需要建立自己的繫結,這在很多情況下不是出於特殊的安全要求和使用的傳輸協議。為了建立自定義的繫結,需要建立一組繫結元素。繫結元素是由system.servicemodel.channels.bindingelement派生而來的。1,使用http傳輸協議和binary編碼...
jquery自定義校驗
jquery自定義校驗 自定義乙個方法例子 一 定義jquery validate的方法 validator.addmethod flushpricevalidate 引數說明 value 被校驗元素的 value值 element 代表被校驗元素,params 新增校驗規則時 function v...
jquery自定義外掛程式
jquery自定義外掛程式的幾種常用的方法 第一種方法 fn.fun function target fun 第二種方法 fn.extend target fun 第三種方法 extend fun 在這裡需要詳細解釋一下jquery的api extend var obj1 var obj2 var ...