2010-06-08 22 views
10

मेरे पास आईडी "tbl" वाली एक टेबल है और इसमें 2 पंक्तियां और 3 कॉल हैं। प्रत्येक सेल (टीडी) में स्पष्ट रूप से परिभाषित आईडी है। साथ ही, तालिका में एक ऑनक्लिक ईवेंट होता है जो फ़ंक्शन foo() को कॉल करता है। जब भी कोई सेल क्लिक किया जाता है तो ऑनक्लिक() उत्पन्न किया जाएगा। तालिका टैगजावास्क्रिप्ट का उपयोग कर कॉलर तत्व कैसे प्राप्त करें?

< तालिका आईडी = "tbl" चौड़ाई = "80%" ऊंचाई = "20%" onclick = है "जावास्क्रिप्ट: foo()">

मैं भी की कोशिश की जावास्क्रिप्ट: foo (यह)

मैं क्लिक किए गए तालिका कक्ष की आईडी को जानना चाहता हूं।

मैं निम्नलिखित जावास्क्रिप्ट

function foo(e) 
{ 
    var sender = (e && e.target) || (window.event && window.event.srcElement); 
    alert("Sender" + sender.id); 
} 

यह गूगल क्रोम और IE में अच्छा काम करता है, लेकिन फ़ायरफ़ॉक्स में नहीं की कोशिश की है। फ़ायरफ़ॉक्स में, प्रेषक अपरिभाषित है। फ़ायरफ़ॉक्स में कॉलर सेल कैसे प्राप्त करें?

+0

मैं एक जवाब के रूप में यह डाल देंगे नहीं (? कुछ ज़्यादा ही मूर्खतापूर्ण हो सकता है), लेकिन आप jQuery क्यों उपयोग नहीं कर रहे हैं जहां में सभी मतभेद ब्राउज़र आपके लिए संभाला जाता है? इसके अलावा, यह कुछ तरीकों से थोड़ा अधिक सरल, पर क्लिक करने के लिए क्लिक करता है ... – jcolebrand

+0

@ ड्रेचेनस्टर्न: आपको वहां जाना था ... –

+2

@ ड्रैंचस्टर्न: मुझे लगता है कि बल-भरने वाला jQuery थोड़ा दूर जा रहा है। सभी लोकप्रिय ढांचे ब्राउज़र अंतर को संभालते हैं। jQuery भी मेरा पसंदीदा है, लेकिन मुझे लगता है कि "आप ढांचे का उपयोग क्यों नहीं कर रहे हैं?" पूछने के लिए एक और निष्पक्ष सवाल है। –

उत्तर

5

सबसे पहले, onclick विशेषता से javascript: हटा दें। आप लिंक के गुण href में जावास्क्रिप्ट के साथ भ्रमित कर रहे हैं। जावास्क्रिप्ट कोड में, javascript: "जावास्क्रिप्ट" नामक label बनाएगा।

इसके अलावा, foo(event) आपके अंतिम जावास्क्रिप्ट कोड नमूने के साथ सही ढंग से काम करना चाहिए। कारण यह फ़ायरफ़ॉक्स में काम नहीं करता है लेकिन क्रोम और आईई में करता है; वे दोनों ग्लोबल इवेंट ऑब्जेक्ट का समर्थन करते हैं, window.event (जिसका मूल्यांकन किया जाता है जब आपका e.targetundefined उत्पन्न करता है, क्योंकि this एक तत्व है जिसमें target संपत्ति नहीं होगी)। फ़ायरफ़ॉक्स वैश्विक event ऑब्जेक्ट का समर्थन नहीं करता है।

अतिरिक्त पठन:

+0

+1 'ईवेंट' के लिए +1 और नहीं 'यह' ... – jcolebrand

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