所以我有一个列表,我想通过JavaScript动态添加一个事件。我在Firefox中工作得很好,但我也需要它在IE6(ugh)中工作,但它是必需的。它不一定非常漂亮,只需要工作。触发事件只是从列表中删除该项。我不知道我需要做些什么才能让它发挥作用。这是我到目前为止的一小部分。 ids是独一无二的,我只是把它作为一个例子。它适用于所有较新的浏览器。
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 :(得分: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 );});
}
答案 1 :(得分:2)
我没有IE6来测试这个,但是更换了onclick-line:
listElement.setAttribute("onclick", "removeFromList('" + id + "')");
这可能有效:
listElement.onclick = function(){ removeFromList(id); };
你也可以使用attachEvent进行IE浏览,并坚持使用旧的解决方案(或者更好地使用addEventListener)。