मैं इस प्रकार के रूप में RichFaces PopupPanel.doResizeOrMove विधि को ओवरराइड कर रहा हूं:
(function() {
var richfacesUiPopupPanelDoResizeOrMove = RichFaces.ui.PopupPanel.prototype.doResizeOrMove;
RichFaces.ui.PopupPanel.prototype.doResizeOrMove = function(diff) {
richfacesUiPopupPanelDoResizeOrMove.call(this, diff);
};
})();
आखिरकार मैं कुछ अतिरिक्त कार्यक्षमता जोड़ना चाहता हूं, इसलिए ओवरराइड। लेकिन ऊपर दिए गए कोड के साथ मैं मूल पद्धति के समान व्यवहार की अपेक्षा कर रहा हूं।
हालाँकि, पॉपअपपैनल जल्दी से बाहर चला जाता हैव्यूपोर्ट जब मैं इसे स्थानांतरित करना शुरू करता हूं। क्या यह एक ज्ञात समस्या है जिसे कॉल के माध्यम से ओवरराइडिंग के साथ जाना जाता है (मैं लागू होने के माध्यम से समान व्यवहार कर रहा हूं) या कुछ रिचफेसेस विशिष्ट समस्या है? मैं क्या गलत कर रहा हूं?
धन्यवाद
उत्तर:
जवाब के लिए 0 № 1The 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);
}
};
})());
})();