2011-09-23 68 views
1

所以我有一個列表,我想通過JavaScript動態添加一個事件。我在Firefox中有很好的工作,但我也需要它在IE6(唉)中工作,但它是必需的。它不一定非常漂亮,只需要工作。觸發事件只是從列表中刪除項目。我不知道我需要做些什麼才能使其工作。這是迄今爲止我所擁有的一小部分。這些ID是獨一無二的,我只是把它作爲一個例子。它適用於所有新的瀏覽器。在IE6中添加onclick事件給li元素

var id = "123456"; 
    var list = document.createElement("ul"); 
    var listElement = document.createElement("li"); 
    listElement.setAttribute("id", id); 
    listElement.setAttribute("onclick", "removeFromList('" + id + "')"); 
    listElement.appendChild(document.createTextNode(content)); 
    list.appendChild(listElement); 
    document.getElementById('myElement').appendChild(list); 
+0

IE6在什麼時候失敗? – graphicdivine

+0

你能提供更多的信息嗎?你究竟想達到什麼目的?請提供事件處理程序。 –

回答

2

我沒有一個IE6來測試這一點,但替換的onclick行:這個威力

listElement.setAttribute("onclick", "removeFromList('" + id + "')"); 

工作:

listElement.onclick = function(){ removeFromList(id); }; 

你也可以使用attachEvent爲IE和堅持你舊的解決方案(或更好地使用addEventListener)在新的。

+0

感謝您的幫助,效果很好! –

2

純JavaScript,應該工作在IE6:

var id = "123456"; 
var list = document.createElement("ul"); 
var listElement = document.createElement("li"); 
listElement.setAttribute("id", id); 
listElement.appendChild(document.createTextNode(content)); 
list.appendChild(listElement); 
document.getElementById('myElement').appendChild(list); 

if(listElement.addEventListener) { 
    listElement.addEventListener("click", function(e) { 
     removeFromList(id);}, false); 
} else { 
    listElement.attachEvent("onclick", function(e) { 
     removeFromList(id);}); 
} 
+0

我也試過你的例子。它也很棒。 –

相關問題