我已經創建了一個menuItems數組並將其分配給一個ID爲「leftMenu」的div。mouseover不工作在ie7中動態生成的li
我有一個動態生成的UL(用戶列表)和LI,它被附加到div。
我在動態生成的LI中設置了兩個屬性「onmouseover」和「onmouseout」。
這兩個屬性在IE7中不起作用,但IE8,IE9,Firefox,Safari和Chrome工作正常。
CSS:
ul{margin:0px; padding:0px; width:200px;}
li{list-style-type:none;}
.defaultsMenuBtn {
background-color: #FEE6A0;
border-bottom: 1px solid #FFFFFF;
color: #002C84;
font-weight: bold;
padding: 3px 5px;
}
a{text-decoration:none;}
.defaultsMenuBtn_hover{background-color: #FFD14F; padding: 3px 5px; border-bottom: 1px solid #FFFFFF;font-weight:bold; color: #002C84; cursor:pointer;}
HTML
<div id="leftMenu"> </div>
的Javascript
var menuItems=new Array();
menuItems[0]="menu01";
menuItems[1]="menu02";
menuItems[2]="menu03";
menuItems[3]="menu04";
var menulength = menuItems.length;
var MenuWapper = document.getElementById("leftMenu");
var ul = document.createElement("ul");
MenuWapper.appendChild(ul);
for(i=0; i<menulength; i++){
var li = document.createElement("li");
var itemID = "item_"+i
li.className = "defaultsMenuBtn";
li.id = itemID
var browser = navigator.appName;
li.setAttribute("onmouseover","this.className='defaultsMenuBtn_hover'");
li.setAttribute("onmouseout", "this.className='defaultsMenuBtn'");
li.innerHTML = " "+menuItems[i]+"";
ul.appendChild(li);
}// end forloop
請讓我知道如果有更多informati是必需的!
它不工作的原因是因爲IE7只支持setAttribute的部分支持,它不支持添加事件處理程序:http://msdn.microsoft.com/en-us/library/ie/ms536739( v = vs.85)的.aspx – Duopixel
感謝@Duopixel我知道我讀過類似的東西6年前:) – David
感謝大衛 這裏取得了垃圾改變代碼 li.className =「defaultsMenuBtn_hover」; li.className ='defaultsMenuBtn 至 this.className ='defaultsMenuBtn_hover'; this.className ='defaultsMenuBtn 現在它工作正常。 –