2013-10-31 5 views
0

프로젝트에서 자바 스크립트 작업을하고 있었고 작은 문제가 붙어 있습니다. 문제는 목록을 동적으로 생성하기 위해 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

u 조금 더 표현할 수 있습니다. 실제로 li에 id가 없습니다. createUls()라는 html 코드에서 함수를 만드는 데 사용되는 함수를 볼 수 있습니다. –

+0

append 전에 var tempID = CreateNewGuid(); $ (li) .attr ('id', tempID); . . . 그런 다음 $ (tempID) .dblclick (function() {// 여기에 이벤트 핸들러 코드를 추가하십시오.}); –

+0

죄송합니다 종류의 ID를 추가하는 방법을 발견 thnx –

관련 문제