jQuery 插件:使用 .each 添加方法

jQuery Plugin: Add method with .each

我在 jQuery 插件中有以下代码:

$.fn.myForm = function() {
    return this.each(function() {
        var myForm = new MyForm(this);

        $.data(myForm, 'myForm');
    });
};

我认为这样做可以让我访问 myForm 的内部函数,例如 getForm

var MyForm = function() {
   //...
   function getForm() {
       return 'Hi';
   }
}

但是当我尝试从插件外部访问 myForm 时,我得到 undefined:

$('#test').myForm();
$('#test').data('myForm')
> undefined

我做错了什么?

像这样设置你的 data:-

$(this).data('myForm', myForm);