2012-11-29 1 views
0

Knockout.js를 사용하여 드롭 다운의 순서없는 목록에 항목을 추가하고 있습니다. 이 목록 항목에 대한 클릭을 포착하고 싶지만 어떻게해야할지 모르겠습니다.동적 목록 항목의 클릭 기능 설정 (Knockout.js 사용)

지금은 목록이 몸체 클릭 (모든 드롭 다운이 숨겨 짐)으로 해제되지만 클릭시 e.stopPropagation()을 추가해도 작동하지 않는 것 같아요.

여기 (하지만, 읽기 쉽도록 간격 ... 유효하지 않은 그런 식으로) 아래의 코드의 조각, 그리고 당신은 (전체 코드) 액션의 검색 창 HERE을 볼 수 있습니다.

$("#dropdown").append(" 
    <ul id='list' data-bind=\"template: { 
     name:'obj', foreach:objects }, 
     click: function() { 
       $('.listObjItem').on('click', function() { 
        // CAPTURE THE CLICK (not working)   
        alert($('#search').val($(this).text())); 
     });} 
    \"> 
    </ul>"); 

$("#searchContainer").append(
     "<script type='text/html' id='obj'> 
      <li class='listObjItem'> 
        <span data-bind='text: name'></span>&nbsp;in&nbsp; 
        <strong data-bind='text: type'></strong> 
      </li> 
     </script>"); 

답변

0

경우 위임 을 시도 ..

대신

$('.listObjItem').on('click', function() { 

$('body').on('click','.listObjItem' , function() { 

'body'을가 ..

정적 부모 컨테이너로 대체 할 수있다
+1

작동하지 않는 것 같습니다 : S – Jon