【jQuery學習筆記-----jQuery事件名稱空間】
jQuery事件名稱空間
jQuery支援事件名稱空間,以方便事件管理。例如,在下面的示例中,為div元素繫結多個事件型別,然後使用名稱空間進行規範,從而方便管理。所謂事件名稱空間,就晨事件型別後面以點語法附加一個別名,以便引用事件,如”click.a”,其中”a”就是click當前事件型別的別名,即事件名稱空間
如:$(“div”).bind(“click.a”,function(){});
$(“div”).bind(“dbclick.a”,function(){});
$(“div”).bind(“mouseover.a”,function(){});
$(“div”).bind(“mouseout.a”,function(){});
若在所有繫結的事件型別後面附加名稱空間,這樣在刪除事件時,就可以直接指定名稱空間。如$(“div”).unbind(“.a”);
同樣,如果相同的事件型別設定不同的名稱空間,如果僅刪除某一個事件處理程式,則只需要指定名稱空間即可。
另外,在trigger()方法中,如果事件型別後面附加感嘆號,則表示觸發不包含名稱空間的特定事件型別。
$(“div”).bind(“click”,function(){});
$(“div”).bind(“click.a”,function(){});
$(“div”).trigger(“click!”)//注意click型別後面的感嘆號,它將觸發第一個註冊
多事件繫結
對於同一個物件的多個事件,可以連寫的形式串在一起。
$(“div”).bind().bind()…
自定義事件
jQuery支援自定義事件,所有自定義事件都可以通過jQuery方法觸發,例如下面的示例自定一個Delay事件型別,並把它繫結到input元素物件上,然後在按鈕單擊事件中觸發自定義事件
$(“input”).bind(“delay”,function(event){
setTimeout(function(){
alert(event.type);
},1000);
});
$(“input”).click(function(){
$(“input”).trigger(“delay”); //觸發自定義事件
});
自定義事件不是真正意義上的事件,可以把它理解為自定義函式,觸發自定義事件就相當於呼叫自定義函式。