簡體   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