2014-10-28 2 views
0

코드로 이야기를하자 문맥, 내가 무엇을 놓치고 있는지 모르겠다. 결코이 방법으로이 링크를 위해을 등록하지 마라. 인라인 HTML은 onClick() 그래도 작동 : 동일한 링크 (결합 이외의 foreach) UL-외부 용기의 경우녹아웃 클릭 핸들러 문제

<a href="javascript:void(0)" onclick="pushData(this);" id="btnPush" class="btn btn-default" title="Click to persist current score" data-url="@Url.Action("PushPlayerinfo", "Home")">Update score</a> 

은 또한, 그것을 잘 작동한다. 누군가 나에게 제발 제안 할 수 있니?

+0

요소가 동적으로 생성되므로 jquery doc에 잘 설명 된 위임 된 이벤트를 사용해야합니다. –

+5

어쨌든 knockout을 사용하는 경우 클릭 이벤트를 처리하는 데 사용하지 않는 이유는 무엇입니까? – nemesv

+0

@nemesv 좋은 의견입니다. 나는 심지어 그것이 대답 일 수 있다고 말하기까지 갈 것이며, OP를위한 것이 아니라면,이 질문에 대한 검색 쿼리로 끝나는 사람들을위한 것이다. KO를 사용할 때 [클릭 바인딩] (http://knockoutjs.com/documentation/click-binding.html)은이 작업을 정확하게 의미합니다. – Jeroen

답변

1

녹아웃으로 클릭 이벤트를 처리해야합니다. knockout을 사용할 때 DOM을 처리하는 것은 좋지 않은 연습이며, ko 클릭 바인딩을 사용하면 쉽습니다.

확인 문서 : http://knockoutjs.com/documentation/click-binding.html

* 당신은 코 foreach는 내부의 방법을 실행해야하고, VM는 $ 부모 또는 $ 루트 키를 사용하여 기억에이 방법이 속하는 경우.

<ul data-bind="foreach: items"> 
    <li>       
    <a data-bind="click: $parent.yourMethod()>link</a> 
    </li> 
</ul> 
+0

감사합니다. ianaya89, 이미 했어요. –