2014-02-11 81 views
0

我需要一些JavaScript的帮助,我需要一个替代currentTarget作为我的程序在JavaScript上不工作的Internet Explorer 8,所以我需要任何替代方式,这将工作在我的JavaScript代码。以下是一些什么是我的代码使用currentTag的一部分。替代currentTarget Javascript

注:只有JavaScript,而不是JQUERY。


 var sortedObject = function (obj) { 
     document.getElementById("dvList2").innerHTML = ""; 
     var ul = document.createElement("ul"), 
      li; 
     var keys = Object.keys(obj).sort(); 
     for (prop in keys) { 
      li = document.createElement("li"); 
      li.appendChild(document.createTextNode(keys[prop])); 
      li.onclick = function(e) { 
       e.currentTarget.classList.toggle("hidden"); 
       e.stopPropagation(); 
      } 

      if (typeof obj[keys[prop]] == "object" && Objectkeys(obj[keys[prop]]).length) { 
       li.appendChild(sortedObject(obj[keys[prop]])); 
      } else { 
       li.className += "leaf"; 
      } 
      ul.appendChild(li); 
      console.log(ul); 
     } 
     return ul; 
    }; 

如果你想针对IE8你应该适当改变Object.keysnode.classList以及谢谢

+1

可能重复的[Internet Explorer和JavaScript的事件。currentTarget](http://stackoverflow.com/questions/857439/internet-explorer- and-javascript-event-currenttarget) – Barmar

+0

请参阅Barmar的链接:强烈推荐! – roland

回答

0

但有关event.currentTarget可以使用event.srcElement为IE8:

var target = event.currentTarget || event.srcElement; 

嗯......看看这个答案:

https://stackoverflow.com/a/1876316/887539

Object.keys

enter image description here

node.classList

enter image description here

+0

我的代码没有Object.keys,因为我使用Object.keys的小块代码,我只需要帮助currentTarget。请帮忙 – user3237973