Php 使用javascript更改背景颜色
此脚本在除IE以外的所有其他浏览器中都能正常工作:Php 使用javascript更改背景颜色,php,javascript,html,css,internet-explorer,Php,Javascript,Html,Css,Internet Explorer,此脚本在除IE以外的所有其他浏览器中都能正常工作: nav.addEventListener('mouseover',function(e) { switch(e.target.id) { case 'aGallery': navOpacity.style.backgroundColor = "red"; break; case 'aContact': navO
nav.addEventListener('mouseover',function(e) {
switch(e.target.id) {
case 'aGallery':
navOpacity.style.backgroundColor = "red";
break;
case 'aContact':
navOpacity.style.backgroundColor = "green";
break;
case 'aAbout':
navOpacity.style.backgroundColor = "yellow";
break;
case 'aHome':
navOpacity.style.backgroundColor = "#CC33CC";
break;
}
},false);
在IE中,悬停时背景色不会改变
有什么想法吗?IE对事件使用“开启”版本,行
onclick
,onmouseover
。这应该是你的问题
此外,IE(版本9之前)不支持addEventListener
。您必须使用attachEvent
将此代码作为起点:
if (el.addEventListener){
el.addEventListener('click', myFunc);
} else if (el.attachEvent){
el.attachEvent('onclick', myFunc);
}
IE对事件使用“开启”版本,行
onclick
,onmouseover
。这应该是你的问题
此外,IE(版本9之前)不支持addEventListener
。您必须使用attachEvent
将此代码作为起点:
if (el.addEventListener){
el.addEventListener('click', myFunc);
} else if (el.attachEvent){
el.attachEvent('onclick', myFunc);
}
在IE中,您必须使用
attachEvent
而不是标准的addEventListener
。对于IE,使用srcement
而不是target
试试这个
function mouseOverHandler(e) {
switch((e.target || e.srcElement).id) {
case 'aGallery':
navOpacity.style.backgroundColor = "red";
break;
case 'aContact':
navOpacity.style.backgroundColor = "green";
break;
case 'aAbout':
navOpacity.style.backgroundColor = "yellow";
break;
case 'aHome':
navOpacity.style.backgroundColor = "#CC33CC";
break;
}
}
if (el.addEventListener){
el.addEventListener('mouseover', mouseOverHandler, false);
}
else if (el.attachEvent){
el.attachEvent('onmouseover', mouseOverHandler);
}
在IE中,您必须使用
attachEvent
而不是标准的addEventListener
。对于IE,使用srcement
而不是target
试试这个
function mouseOverHandler(e) {
switch((e.target || e.srcElement).id) {
case 'aGallery':
navOpacity.style.backgroundColor = "red";
break;
case 'aContact':
navOpacity.style.backgroundColor = "green";
break;
case 'aAbout':
navOpacity.style.backgroundColor = "yellow";
break;
case 'aHome':
navOpacity.style.backgroundColor = "#CC33CC";
break;
}
}
if (el.addEventListener){
el.addEventListener('mouseover', mouseOverHandler, false);
}
else if (el.attachEvent){
el.attachEvent('onmouseover', mouseOverHandler);
}
如果可能,我建议使用jQuery。它为您解决了类似的问题,使它在大多数浏览器(包括IE)中都能正常工作。可能有帮助:如果可能,我建议使用jQuery。它可以为您解决类似的问题,使其在大多数浏览器中都能正常工作,包括IE。可能有帮助:另一个问题是IE使用
event.srcElement
而不是W3C标准target
属性。另一个问题是IE使用event.srcElement
而不是W3C标准target
属性。有朝一日,我们应该聚在一起,组成某种委员会来制定浏览器标准!所有的浏览器都可以跟随它们!总有一天,我们应该聚在一起,组成某种委员会来制定浏览器标准!所有的浏览器都可以跟随它们!