2013-10-31 20 views
0

我一直在研究項目中的JavaScript,並且遇到了一個小問題。問題是我創建了一個頁面,我使用JSON對象來動態創建列表。現在我需要將雙擊偵聽器應用於此列表中的元素。這是迄今爲止代碼:如何在Html中的動態創建列表中進行雙擊

<HTML> 
<body onload="createTree()"> 
    <div id="tree" style="background-color:#FFD700;height:500px;width:300px;float:left;"> 
    <b>Tree</b><br> 
    <script>    

    var JSONObject= {"className":"com.alta.entity.Person","key":"this","modifier":1,"value":"Person [id\u003d1001, firstName\u003dShiju]","level":0,"elementArray":[ 
     {"className":"java.lang.Long","key":"id","modifier":17,"value":"1001","level":1,"elementArray":[]},{"className":"java.lang.String","key":"firstName","modifier":17,"value":"Shiju","level":2,"elementArray":[{"className":"java.lang.Character","key":"0","modifier":17,"value":"S","level":3,"elementArray":[]},{"className":"java.lang.Character","key":"1","modifier":17,"value":"h","level":4,"elementArray":[]},{"className":"java.lang.Character","key":"2","modifier":17,"value":"i","level":5,"elementArray":[]},{"className":"java.lang.Character","key":"3","modifier":17,"value":"j","level":6,"elementArray":[]},{"className":"java.lang.Character","key":"4","modifier":17,"value":"u","level":7,"elementArray":[]}]},{"className":"java.util.ArrayList","key":"addressArray","modifier":1,"value":"[[email protected]]","level":3,"elementArray":[{"className":"com.alta.entity.Address","key":"0","modifier":1,"value":"[email protected]","level":4,"elementArray":[{"className":"java.lang.Long","key":"id","modifier":17,"value":"1001","level":5,"elementArray":[]},{"className":"java.lang.String","key":"addressLine","modifier":17,"value":"This is addredss Line","level":6,"elementArray":[{"className":"java.lang.Character","key":"0","modifier":17,"value":"T","level":7,"elementArray":[]},{"className":"java.lang.Character","key":"1","modifier":17,"value":"h","level":8,"elementArray":[]},{"className":"java.lang.Character","key":"2","modifier":17,"value":"i","level":9,"elementArray":[]},{"className":"java.lang.Character","key":"3","modifier":17,"value":"s","level":10,"elementArray":[]}]}]}]}]}; 


     document.getElementById('tree').appendChild(createUls(JSONObject)); 
     function createUls(element){ 
      console.log('looooop'); 
      var ul = document.createElement('ul'); 
      var li = document.createElement('li'); 
      li.innerHTML = element.key; 
      ul.appendChild(li); 
      var elementArray = element.elementArray; 
      for(var i=0; i<elementArray.length; i++){ 
       li.appendChild(createUls(elementArray[i])); 
      } 
      return ul; 
     }     
    </script> 

</body> 

我打算把雙擊監聽器正在創建的所有列表元素。如果任何人可以請幫助,我會非常感激。如果您有任何疑問,您可以複製Html並查看它的作用。

+0

您是否正在尋找? http://api.jquery.com/dblclick/ – Josh

+0

所以你的意思是'.dblclick()'? – usernolongerregistered

+0

是好客,但問題是我如何應用它? –

回答

0
$('#yourliIDhere').dblclick(function() { 
    //event handler code here. 
}); 
+0

你可以更有表現力我沒有實際上有一個ID上李。您可以在名爲createUls()的html代碼中看到用於創建它們的函數 –

+0

在追加之前,var tempID = CreateNewGuid(); $(li).attr('id',tempID); 。 。 。然後執行append,然後$(tempID).dblclick(function(){//事件處理程序代碼)。 –

+0

對不起有種發現了添加id thnx的方法 –