在IE中选择选项不能使用onmouseover事件(can not use onmouseover

2019-08-08 06:21发布

更新的代码:

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浏览器。

Answer 1:

你能不能仍然设置在整个选择鼠标悬停事件处理程序,如果目标是一个选项元素,做X行动目标的事件属性?

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



Answer 2:

IE不支持选项元素上的事件。 您可以尝试为@meder说加父的处理程序进行选择,然后检查事件,看看哪个选项是将鼠标悬停。

PS这些都是已知的bug在IE6(和IE7和IE8 beta测试报告 - 并且拒绝了固定日期):-(

也许IE9将支持他们呢?



文章来源: can not use onmouseover event on select option in IE