/ / रिचफ्रेंड्स को ओवरराइड करने से पॉपअपपनल.ऑडइसीओवरऑम विधि बिना किसी बदलाव के असंगत व्यवहार का कारण बनता है - जावास्क्रिप्ट, जेएसएफ, रिचफेसेस

रिचफेस को ओवरराइड करना PopupPanel.doResizeOrMove विधि बिना परिवर्तन के असंगत व्यवहार का कारण बनता है - जावास्क्रिप्ट, जेएसएफ, समृद्ध स्थान

मैं इस प्रकार के रूप में RichFaces PopupPanel.doResizeOrMove विधि को ओवरराइड कर रहा हूं:

(function() {
var richfacesUiPopupPanelDoResizeOrMove = RichFaces.ui.PopupPanel.prototype.doResizeOrMove;
RichFaces.ui.PopupPanel.prototype.doResizeOrMove = function(diff) {
richfacesUiPopupPanelDoResizeOrMove.call(this, diff);
};
})();

आखिरकार मैं कुछ अतिरिक्त कार्यक्षमता जोड़ना चाहता हूं, इसलिए ओवरराइड। लेकिन ऊपर दिए गए कोड के साथ मैं मूल पद्धति के समान व्यवहार की अपेक्षा कर रहा हूं।

हालाँकि, पॉपअपपैनल जल्दी से बाहर चला जाता हैव्यूपोर्ट जब मैं इसे स्थानांतरित करना शुरू करता हूं। क्या यह एक ज्ञात समस्या है जिसे कॉल के माध्यम से ओवरराइडिंग के साथ जाना जाता है (मैं लागू होने के माध्यम से समान व्यवहार कर रहा हूं) या कुछ रिचफेसेस विशिष्ट समस्या है? मैं क्या गलत कर रहा हूं?

धन्यवाद

उत्तर:

जवाब के लिए 0 № 1

The doResizeOrMove विधि एक वापसी मूल्य है जो आपके कार्यान्वयन में खो जाता है.यह होना चाहिए

return richfacesUiPopupPanelDoResizeOrMove.call(this, diff);

प्रोटोटाइप नए सिरे से लिखते समय काम करेंगे, आप पर एक नज़र रखना चाहते हो सकता है $.extend(), कि "क्या हम घटकों का निर्माण करने के लिए उपयोग करें.

(function() {
var richfacesUiPopupPanelDoResizeOrMove = RichFaces.ui.PopupPanel.prototype.doResizeOrMove;
$.extend(RichFaces.ui.PopupPanel.prototype, (function(options) {
return {
doResizeOrMove: function(diff) {
return richfacesUiPopupPanelDoResizeOrMove.call(this, diff);
}
};
})());
})();