jQuery事件命名空间多事件绑定自定义事件js 命名空间 javascript命名空间
http://blog.csdn.net/pigpigpig4587/article/details/24727791
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”); //触发自定义事件
});
自定义事件不是真正意义上的事件,可以把它理解为自定义函数,触发自定义事件就相当于调用自定义函数。