繁体   English   中英

如何扩展在 mootools 的“选项”中声明的 function?

[英]How extend a function declared inside “options” in mootools?

我想在 mootools 中扩展“ Form.Validator.Inline ”的“ showError ”function。 function 在“ options ”中声明。

我尝试了下面的代码,但它不起作用。

var exFormValidator = new Class({
            Extends:  Form.Validator.Inline,
            options: {
                    showError: function(element) {
                        var error = element.getPrevious();
                        if(error != null){
                            error.dispose();
                        }
                        this.parent(element);
                    }
                }
        }); 

我可以通过从“ mootools-more ”复制代码来使其工作,如下所示:

        var exFormValidator = new Class({
            Extends:  Form.Validator.Inline,
            options: {
                    showError: function(element) {
                        var error = element.getPrevious();
                        if(error != null){
                            error.dispose();
                        }
                        if (element.reveal) element.reveal();
                        else element.setStyle('display', 'block');
                    }
                }
        });

但我不认为这是做事的方式。 有什么替代/正确的方法吗?

找到了答案。 Form.Validator.Inline ”中有一个“ onShowAdvice() ”事件。 您必须将其扩展如下:

        var formValidator = new Form.Validator.Inline(regForm, {
                errorPrefix: '',
                serial: false,
                onShowAdvice: function(element, advice) {
                    var error = advice.getPrevious();
                    if(error != null) {
                        error.dispose();
                    }
                }
            });

showAdvice function 正在调用 showError。 所以调用它就可以了; 但问题仍然存在。 是否可以在“选项”中扩展 function ?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM