appendChild = function(message) {
console.log("intercepted!");
}
उपरोक्त कोड का उपयोग करने से काम नहीं लगता है।मैं appendChild() को ओवरराइड कैसे करूं?
कोई भी जानता है?
appendChild = function(message) {
console.log("intercepted!");
}
उपरोक्त कोड का उपयोग करने से काम नहीं लगता है।मैं appendChild() को ओवरराइड कैसे करूं?
कोई भी जानता है?
आप जो बदलना चाहते हैं वह Element.prototype.appendChild
है लेकिन यह शायद एक बुरा विचार है।
यह उदाहरण डाला तत्व में पाठ intercepted
जोड़ता है:
var f = Element.prototype.appendChild;
Element.prototype.appendChild = function(){f.apply(this, arguments);arguments[0].innerHTML="!Intercepted!"; };
document.body.appendChild(document.createElement("div"));
धन्यवाद, मैं 8 मिनट में आपका उत्तर स्वीकार करूंगा। – RedHotScalability
यह बीमार देशी कार्यों अधिलेखित करने के लिए सलाह दी जाती है, लेकिन अगर आप से यह कर सुनिश्चित करें कि आप के रूप में संलग्न तत्व लौट कर देशी "appendChild" फ़ंक्शन के लौटे हुए मूल्य का उपयोग करने वाले कोड के साथ समस्याओं को रोकने के लिए अच्छी तरह से:
window.callbackFunc = function(elem, args) {
// write some logic here
}
window.f = Element.prototype.appendChild;
Element.prototype.appendChild = function() {
window.callbackFunc.call(this, arguments);
return window.f.apply(this, arguments);
};
+1 ग्रेट प्रश्न; मैंने कुछ नया सीखा। – Plynx
क्योंकि मैं बुकमार्लेट के बारे में मास्टर थीसिस के बारे में लिख रहा हूं, अब मुझे इसकी कमजोरियों का वर्णन करने की आवश्यकता है और कैसे रूज इसका फायदा उठा सकते हैं। – RedHotScalability