jQquery 事件管理 namespace

为了方便jquery的事件管理,1.4版本开始引入了这个namespace命名空间这个概念,说白了就是把事件分类,和css的className 方便管理

介绍

添加事件命名空间,便于管理

示例

示例1

$p.bind('click.plugin', handler);
$p.bind('mouseover.plugin', function (event) {
     $('body').append('<p>mouseover event</p>');
 })
 $p.unbind('.plugin'); //一行代码就把两个事件解绑了

示例2

$p.bind('click.plugin', handler);
$p.bind('click.foo', function (event) {
     $('body').append('<p>mouseover event</p>');
 })
 $p.unbind('.plugin'); //这行代码只把.plugin的单击事件解绑,.foo的事件依然可以执行

遇到的BUG

一开始,看了文档,我就这样来拿namespace

 function handler1(event){
      console.log(event.namespace,'1111');
   }

搞了老半天,event.handleObj.namespace这样拿才是正确的

function handler(event){
      console.log(event.handleObj.namespace,'1111');
   }

原来有的文档也不是全对的,要有自己的学习能力。

猜你喜欢

转载自blog.csdn.net/Stephen__Wu/article/details/80666725