Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在IE中的选择选项上使用onmouseover事件_Javascript_Internet Explorer_Javascript Events - Fatal编程技术网

Javascript 无法在IE中的选择选项上使用onmouseover事件

Javascript 无法在IE中的选择选项上使用onmouseover事件,javascript,internet-explorer,javascript-events,Javascript,Internet Explorer,Javascript Events,更新代码: function getElements() { var x=document.getElementsByTagName("option"); var el = document.getElementById('selectDept'); el.onmouseover = function( myevent ) { // event = event || window.event.srcElement; if(myevent && myevent.ta

更新代码:

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中工作。

您是否仍然可以在整个select上设置mouseover事件处理程序,并将事件属性作为目标如果目标是option元素,则执行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');
    }
}
更新代码:


IE不支持选项上的事件。您可以像@meder所说的那样尝试在父select上添加一个处理程序,然后检查事件以查看鼠标悬停在哪个选项上

PS这些是IE6中已知的bug(并在IE7和IE8测试中报告,但迄今为止被拒绝修复):-(


也许IE9会支持它们?

用伪代码示例更新,我只是在帖子中键入了它,实际上我并没有对此进行测试。您可能需要解释StopperPogation冒泡的原因,尽管如此,请告诉我它是如何运行的。我想您需要IE中的event.srcElement来获取触发事件的元素。我之所以查找它,是因为rgot来解释目标。我更新了一个实例…让我知道它是否在IE.event=event | | | window.event中不起作用;这是用来做什么的?IE9显然不支持它们!至少在1-16的测试版中不支持:(