2009-04-03 27 views
5

मैं एक AJAX फ़ंक्शन से JSON प्रतिक्रिया प्रबंधित करने के लिए DOM का उपयोग कर रहा हूं। जिस स्क्रिप्ट को मैं लिख रहा हूं उसे पूरी तरह से पोर्टेबल होना चाहिए, इसलिए मैं फ्लाई पर बनाए गए तत्वों के लिए शैलियों को परिभाषित कर रहा हूं (यानी, बाहरी सीएसएस से कोई लिंक नहीं, और HTML दस्तावेज़ में कोई सीएसएस प्रदान नहीं कर रहा है, क्योंकि मैं नहीं करूँगा डॉक्टर का नियंत्रण है)।जावास्क्रिप्ट में डीओएम निर्मित तत्व पर मैं एक सीएसएस ": होवर" कैसे सेट कर सकता हूं?

मैं कुछ तत्वों पर होवर प्रभाव बनाना चाहता हूं।

उदाहरण:

 #myDiv:hover { background:#000000; }

वहाँ डोम में परिभाषित करने के लिए है कि एक तरीका है? या मुझे mouseover का उपयोग करना है?

उत्तर

11

आप स्टाइलशीट को गतिशील रूप से बना और कुशल बना सकते हैं। इस दृष्टिकोण के साथ कुछ क्रॉस-ब्राउज़र मुद्दों के लिए See here

मुझे एक रैपर फ़ंक्शन lying around मिला है जो उनमें से कुछ के आसपास काम करता है; इसे का उपयोग, कोड पढ़ता था

document.createStyleSheet().addRule('#myDiv:hover', 'background:#000000;'); 
+0

मेरे लिए इनलाइन सीएसएस काफी अच्छा नहीं है। मेरा मतलब अच्छा जवाब है, इसलिए मैं कम नहीं कर रहा हूं लेकिन यह एक और तरीका संभव होना चाहिए। –

+0

2017 अद्यतन: createStyleSheet() केवल आईई था, लेकिन आईई 11 से https://technet.microsoft.com/en-us/ms531194(v=vs.71) – BigJ

3

आप पूर्वनिर्धारित वर्ग के साथ तत्व बना सकते हैं:

.h:hover{color: #c00} 

var elem = document.createElement('div'); 
elem.className = 'h' 
+0

अच्छा, और हाँ ... हालांकि मैंने नहीं किया स्टाइलशीट से लिंक करने की क्षमता है – johnnietheblack

संबंधित मुद्दे

 संबंधित मुद्दे