यदि मैं जावास्क्रिप्ट ऑब्जेक्ट की गुणों को अपरिवर्तनीय बनाना चाहता हूं, तो मैं ऑब्जेक्ट विधियों जैसे defineProperties()
, defineProperty()
, और freeze()
का उपयोग कर सकता हूं। मेरा सवाल है, मैं HTML तत्व विशेषताओं के साथ ऐसा कैसे कर सकता हूं?क्या HTML तत्व विशेषताओं को अपरिवर्तनीय बनाना संभव है?
मैं पहले से ही ऊपर उल्लिखित तरीकों की कोशिश की है, और जब वे सीधे सेट होने से एक तत्व के गुणों को रोकने के लिए इस्तेमाल किया जा सकता है (जैसे elem.id = 'foo';
), के रूप में उम्मीद, अंतर्निहित गुण अभी भी setAttribute()
के माध्यम से बदला जा सकता है।
"नहीं, यह संभव नहीं है" का उत्तर स्वीकार्य होगा, लेकिन मैं अभी तक उस प्रभाव के किसी भी निश्चित बयान में नहीं आया हूं।
अब तक यह जावास्क्रिप्ट में समर्थित नहीं है लेकिन ECMAScript 5 जावास्क्रिप्ट लाइब्रेरी से अपरिवर्तनीय गुणों का समर्थन कर सकता है। –
आप उस तत्व पर 'setAttribute() 'को फिर से परिभाषित करने के लिए एक त्रुटि फेंक सकते हैं। यह काम कर सकता है, हालांकि मैंने कोशिश नहीं की है। – iamnotmaynard
@iamnotmaynard: आप अभी भी 'otherElement.setAttribute.call (thatElement, ...) 'का उपयोग कर सकते हैं, यदि कोई पर्याप्त निर्धारित है ...: पी हालांकि, यह सरल गलतियों के खिलाफ सुरक्षा करेगा, भले ही यह दुर्भावनापूर्ण उपयोगकर्ताओं के खिलाफ अप्रभावी हो। निर्भर करता है कि ओपी को वास्तव में क्या चाहिए। – Amadan