事件命名空间及自定义事件(转)
2015-09-22 14:26
381 查看
jQuery事件命名空间
jQuery支持事件命名空间,以方便事件管理。例如,在下面的示例中,为div元素绑定多个事件类型,然后使用命名空间进行规范,从而方便管理。所谓事件命名空间,就晨事件类型后面以点语法附加一个别名,以便引用事件,如”click.a”,其中”a”就是click当前事件类型的别名,即事件命名空间如:
$("div").bind("click.a", function() {
alert("click");
});
$("div").bind("dbclick.a", function() {
alert("dbclick");
});
$("div").bind("mouseover.a", function() {
alert("mouseover");
});
$("div").bind("mouseout.a", function() {
alert("mouseout");
});
若在所有绑定的事件类型后面附加命名空间,这样在删除事件时,就可以直接指定命名空间。如$("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”); //触发自定义事件
});
自定义事件不是真正意义上的事件,可以把它理解为自定义函数,触发自定义事件就相当于调用自定义函数。
相关文章推荐
- word2vec注释
- 第九节 简单的文本处理
- 使用HtmlUnit登录百度
- 交互案例实战!三个按钮背后由小见大的交互思考
- Qt for Android 部署流程分析
- 关于MySQL的查询缓存
- 企业的转变
- 【iOS】iOS CocoaPods 整理
- Centos GeoIP 安装成 PHP 扩展
- JavaEE7+Websockets+GlassFish4打造聊天室
- Semaphore
- MongoDB安装成为Windows服务及日常使用遇到问题总结
- c/c++的|、||、&、&&、异或、~、!
- CocoaPods使用手册
- JavaScript 经典实例收集整理
- 网络全民创业:95%电商生活得非常痛苦
- 源码
- JavaScript作用域和执行环境
- 怎样安装haskell
- SqlHelper