2009-09-21 21 views
5

में विकल्प का चयन करें पर onmouseover घटना का उपयोग नहीं कर सकते हैं:अपडेट किया गया कोड आईई

function getElements() 
    { 
    var x=document.getElementsByTagName("option"); 

var el = document.getElementById('selectDept'); 
el.onmouseover = function(myevent) { 
    // event = event || window.event.srcElement; 
if(myevent && myevent.target){ 
    if (myevent.target.tagName.toLowerCase() == 'option') { 
     alert(myevent.target.innerHTML); 
    } 
} 
else if(window.event) 
{ 
    if (window.event.srcElement.tagName.toLowerCase() != 'select') { 
     alert('s'); 
    } 

} 
}; 

लेकिन अभी भी IE में काम नहीं।

उत्तर

3

क्या आप अभी भी पूरे चयन पर माउसओवर ईवेंट हैंडलर सेट नहीं कर सकते हैं, और यदि लक्ष्य विकल्प विकल्प है, तो एक्स एक्शन करते हैं तो ईवेंट प्रॉपर्टी को लक्षित करें?

var el = document.getElementById('foo') 
el.onmouseover = function(event) { 
    event = event || window.event; 
    var target = event.target ? event.target : event.srcElement; 
    if (target.nodeName.toLowerCase() === 'option') { 
     alert('option'); 
    } 
} 

अपडेट किया गया कोड:

http://jsbin.com/olusi

+0

आप नमूना कोड है?? मैंने कोशिश की, लेकिन काम नहीं किया – MemoryLeak

+0

छद्म कोड उदाहरण के साथ अद्यतन किया गया है, मैंने इसे केवल उस पोस्ट में टाइप किया है जिसे मैंने वास्तव में परीक्षण नहीं किया था। आपको स्टॉपप्रॉपैगेशन के साथ बुलबुले के लिए खाते की आवश्यकता हो सकती है और हालांकि, मुझे बताएं कि यह कैसा चल रहा है। –

+0

मुझे लगता है कि आपको आईई में event.srcElement की आवश्यकता है ताकि यह पता चल सके कि कौन सा तत्व घटना को ट्रिगर करता है। Http://msdn.microsoft.com/en-us/library/ms534638%28VS.85%29.aspx – scunliffe

6

आईई विकल्प तत्व पर घटनाओं का समर्थन नहीं करता। आप @meder के रूप में कोशिश कर सकते हैं क्योंकि माता-पिता को एक हैंडलर जोड़ना है और उसके बाद यह देखने के लिए ईवेंट का निरीक्षण करें कि कौन सा विकल्प मिल गया था।

पुनश्च इन IE6 में कीड़े में जाने जाते थे (और IE7 और IE8 बीटा परीक्षण में सूचना दी - और अस्वीकार कर दिया तारीख को ठीक करने के लिए) :-(

शायद IE9 उन्हें समर्थन करेंगे

+0

IE9 स्पष्ट रूप से उनका समर्थन नहीं करेगा! कम से कम 1-16 के रूप में बीटा में नहीं :( – Kyle

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