2012-10-17 6 views
2

좋은 날,동적으로 추가 된 앵커에서 클릭 이벤트를 호출하십시오.

도움이되도록 : 목록 항목을 정렬되지 않은 목록에 추가하고 있습니다. 목록 항목 안에 ID가없는 앵커가 있습니다. 클릭 이벤트 처리기를 호출하려고하지만 분명히 잘못된 작업을하고 있습니다.

목록 항목 렌더링 :

this.RenderMeNav = function (params) { 
     var ul, li, a, heading; 
     var me = ARRAY.Search({ 
      List: params.Permissions, 
      Properties: ["Group"], 
      Value: "me" 
     }); 
     heading = $("<a href=\"javascript:void(0);\" class=\"heading\">Me<span class=\"icon-vertical icon-up\"/></a>"); 
     ul = $("<ul />"); 
     for (var p in me) { 
      li = $("<li></li>"); 
      a = $("<a href=\"" + me[p].Url.replace("~/", "") + "\">" + me[p].Name + "</a>"); 
      a.click(function (e) { 
       ShowProcessing(); 
       ifrm.document.location.href = $(this).attr("href"); 
       e.preventDefault(); 
      }); 
      li.append(a); 
      ul.append(li); 
     } 
     $("#menu").append(heading); 
     $("#menu").append(ul); 
    }; 

그리고 다른 것을 클릭하면 다음, 나는이 함수를 호출 :

this.OpenSection = function (params) { 
     $("#menu li").each(function() { 
      if ($(this).text().toLowerCase() == params.Name.toLowerCase()) { 
       $(this).click(); //I FOUND THE ANCHOR AND NOW I WANT TO INVOKE IT'S CLICK EVENT 
      } 
     }); 
    } 

내가 유사한 다른 질문에 대한 제안의 일부를 시도,하지만 아무 소용이 없습니다.

감사

답변

0

앵커가 아니라 목록 항목의 클릭을 트리거합니다. 목록 항목에있는 앵커를 찾아서 클릭하면 표시됩니다.

this.OpenSection = function (params) { 
     $("#menu li").each(function() { 
      if ($(this).text().toLowerCase() == params.Name.toLowerCase()) { 
       $(this).find("a").trigger("click"); 
      } 
     }); 
    } 
+0

우우 오 !!!!! 긴 하루가 아마도 ...;) –

0

당신이 기능 trigger()을 사용할 필요가 이미 정의 클릭 이벤트를 트리거하기 위해,

그래서 당신의 코드를 변경 : 당신은에 이벤트를 부착하고

this.OpenSection = function (params) { 
     $("#menu li").each(function() { 
      if ($(this).text().toLowerCase() == params.Name.toLowerCase()) { 
       $(this).trigger('click'); //I FOUND THE ANCHOR AND NOW I WANT TO INVOKE IT'S CLICK EVENT 
      } 
     }); 
    } 
+0

답장을 보내 주셔서 감사합니다. 그것을 시도했다. 같은 결과. : ( –

관련 문제