Javascript JQuery插件-通过回调触发内部函数

Javascript JQuery插件-通过回调触发内部函数,javascript,jquery,jquery-plugins,closures,jquery-events,Javascript,Jquery,Jquery Plugins,Closures,Jquery Events,跳到底部提问 JQuery插件: 请记住,这是我的插件的精简版本 从第页调用: 这在大多数情况下都非常有效,但是,我真正想要的是每次触发特定回调时都从插件内部调用函数,而无需从插件外部调用 我已尝试在我的插件中包含委派事件: $(this).on('click', '.edit-td', function(e) { e.preventDefault(); $(this).closest('#myParent').find('#myInput').autosizeInput();

跳到底部提问

JQuery插件: 请记住,这是我的插件的精简版本

从第页调用: 这在大多数情况下都非常有效,但是,我真正想要的是每次触发特定回调时都从插件内部调用函数,而无需从插件外部调用

我已尝试在我的插件中包含委派事件:

$(this).on('click', '.edit-td', function(e) {
    e.preventDefault();
    $(this).closest('#myParent').find('#myInput').autosizeInput();
});

$(this).on('click', '.done-td', function(e) {
    e.preventDefault();
    $(this).closest('tr').find('td').not('.not').each(function(i) {
        //do some things
    });
});
但是当.edit td被触发时,它会传播并触发.done td事件,如果我将e.stopPropagation放入edit td函数中,因为它已被委托edit td,因此会完全停止触发

和非委托方式:

$(this).find('.done-td').click(function(e, this) {});
但在内部函数完成之前,我无法将返回的对象解析为内部函数。只是出现未定义或缺少形式参数

*跳到这里 避免问题变得局部化-

我需要从我的内部调用函数 每次触发特定回调时都会插入插件。 不使用闭包调用它

比如:

if( $.fn.myPlugin.callback().is('edit') ) {
    //fire function
}

我需要返回如下函数:

return {
    enable: function(arg) {
        //do something
    },
    disable: function(arg) {
        //do something
    }
}
这样,我就可以从插件内部通过如下方式引用自身来调用它:

    this.myPlugin().disable();

这是一本有趣的读物,实际上正是它解决了我的问题。请提供此答案,我将接受。当我读到这个问题时,我想你好像不知道回调的意思,这就是我评论链接的原因。如果你得到了答案,你可以关闭问题或保留它以获得更好的答案。我不太清楚你想要完成什么。好的,我会关闭ty。
return {
    enable: function(arg) {
        //do something
    },
    disable: function(arg) {
        //do something
    }
}
    this.myPlugin().disable();