js解除事件

我用$.fn.tab=function(){}写了个插件,然后页面一开始调用了$(".a").tab(),但是我想单击按钮不让$(".a")再调用这个事件该怎么写?

阅读 3.1k
3 个回答

这个插件是你自己写的,所以你需要自己实现这个事件禁用的效果,比如你在你定义的tab插件中公开一个方法,这个方法去完成禁用事件响应的功能,示例代码:

function Tab(dom){
    this.id="";
    this.dom=dom;
    this.bind=function(){};
    this.unbind=function(){
        //需要你去实现的
    }
    this.init=function(){
        this.bind();
    }
    
    init();
}
$.fn.tab=function(){
    new Tab($(this));
}

既然插件是自己写的,那为什么不写一个禁用功能呢?通过传入参数来判断调用/禁用

简单点就是函数外设置个状态变量,函数内判断false就返回,复杂一点就是面向对象那种,但是更容易维护一点。
jquery这种插件机制最后跟用全局变量没啥区别,根本无法维护

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题