gpt4 book ai didi

javascript - 重写 jquery 小部件中的方法

转载 作者:数据小太阳 更新时间:2023-10-29 05:58:48 25 4
gpt4 key购买 nike

我正在尝试覆盖 jquery 小部件内的方法。该方法可在第 122 行找到,地址为 https://github.com/got5/tapestry5-jquery/blob/master/src/main/resources/org/got5/tapestry5/jquery/validation.js

我想修改第 141 行的 html 输出

我尝试将以下内容添加到我的自定义 js 类中,但没有成功。如果有人能解释如何做到这一点,我将不胜感激。

(function($) {    
$.widget( "ui.tapestryFieldEventManager", {
showValidationMessage : function(message) {
var field = this.element;
var form = field.closest('form');

this.options.validationError = true;
form.formEventManager("setValidationError", true);

field.addClass("t-error");

this.getLabel() && this.getLabel().addClass("t-error");

var icon = this.getIcon();

if (icon) icon.show();
alert("here");
var id = field.attr('id')+"\\:errorpopup";
if($("#"+id).size()==0) //if the errorpopup isn't on the page yet, we create it
field.after("<div id='"+field.attr('id')+":errorpopup' class='tjq-error-popup test'/>");
Tapestry.ErrorPopup.show($("#"+id),"<span>"+message+"</span>");

}
});
})(jQuery);

最佳答案

您必须在原型(prototype)上覆盖它。

var oldMethod = $.ui.tapestryFieldEventManager.prototype.showValidationMessage;    
$.ui.tapestryFieldEventManager.prototype.showValidationMessage = function (message) {
// do your stuff here
alert("worky");

// apply old method
oldMethod.apply(this,arguments);
};

当然,如果您的新方法完成旧方法所做的一切,您可以跳过应用旧方法。

关于javascript - 重写 jquery 小部件中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11053168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com