要怎么重写原型函数绑定在按钮上的方法?

新手上路,请多包涵

定义了一个Table 函数,在创建按钮的时候绑定了点击事件firstpage,我new一个Table实例table之后想重写一个属于table的firstpage方法要怎么实现呢?
Table函数里创建元素绑定事件:

self.el.firstBtn = $('<i class="firstBtn font_family icon-__2"></i>').bind('click', {
            table: self
        }, this.firstpage);
var ajaxtable = new Table($('.ui-table'), {
            preData: preData,
            header: header,
            type: 'ajaxTable',
            // width: '200%'
        });
        ajaxtable.firstpage = function () {
          console.log("11111!");
        }

这样子写firstpage不管用的啊 ,是因为Table里按钮先绑定了firstpage吗?

阅读 1.4k
1 个回答

因为你绑定事件的函数和后面ajaxtable.firstpage重写的函数不是同一个了,就像你在衣服上做了涂鸦,然后换了一件衣服一样,新衣服上并不会留下涂鸦,所以这种情况可以对事件进行包装,像下面这样

.bind('click', {
   table: self
}, function(){
  self.firstpage && self.firstpage()
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题