2012-09-30 2 views
0

동적 JQM listview에 vclick을 추가하려고합니다. 하지만 어떤 번호를 클릭했는지 식별하는 방법을 알 수 없습니다.JQuery Mobile이 listview에 이벤트를 바인딩합니다.

http://jsfiddle.net/2hR9w/

for (var x=0; x<2; x++) { 
    $("#listitem"+x).bind("vclick",function(e) 
      { console.log("clicked"+x); }); 
    console.log(x); 
} 

뭔가 코드에 문제가 있습니다 만, x는 항상 최대 루프 값 왜 내가이에 설정해야합니다 같은 느낌 때문에 나는 알아낼 수 없습니다 루프의 시간.

항상 읽음 2, 읽지 않음 1을 읽습니다. 클릭 이벤트가 실행될 때, 값이 2이기 때문에

값은 "2"모든 시간으로보고되고있다
+0

바이올린을 확인하고 올바른 것을 제출 했습니까? 코드에서 'X'에 대한 참조가 보이지 않으며 항상 '클릭 1'을 얻습니다. –

+0

예, 죄송합니다. 방금 업데이트되었습니다. 틀렸어 – nycynik

+0

글쎄 ... 여전히 똑같은 바이올린이야. –

답변

0

http://jsfiddle.net/2hR9w/7/

는 ..... 그것은을위한 루프 할당의 끝에 도달 .

루프가 전혀 필요하지 않습니다. 첨부 된 바이올린을 참조하십시오.

+0

저에게 이상한 점은 지역 변수라는 것입니다. 따라서 함수가 실행될 때 왜 존재하는지 확실하지 않습니다. 아십니까? 귀하의 응답을 주셔서 감사합니다 – nycynik

+0

이 기사를 확인하십시오 - 몇 가지 화면 "Infamous Loop Problem"보기 ... http://robertnyman.com/2008/10/09/explaining-javascript-scope-and-closures/ –

관련 문제