1
나는 반복 된 어커런스를 지원하는 캘린더에서 작업하고 있으므로 의도 한 동작은 하루에 하나의 활동에 대한 "완료"확인란을 선택하면 해당 날짜의 활동 인스턴스를 숨기고 나머지는 그대로 둡니다.클로저에서 함수의 변수를 고정하는 방법은 무엇입니까?
실제로 보이는 동작은 누군가가 체크 박스를 체크하면 해당 액티비티의 마지막 날 인스턴스를 삭제하고 함수가 클로저의 루프의 가장 최근 변수에 액세스하고 있기 때문입니다 대신에 변수가 실행될 때 그 변수가 보유한 값을 사용합니다. 관련 코드는 다음과 같습니다
for(var index = 0; index < elements.length; ++index)
{
var split_id = elements[index].id.split('_');
var id = Number(split_id[1]);
var day = split_id[2];
var date = split_id[3];
var month = split_id[4];
var year = split_id[5];
elements[index].onclick = function()
{
alert(id + '_' + day + '_' + date + '_' + month + '_' + year);
if (calendar[id][2].indexOf(id + '_' + day + '_' + date + '_' + month + '_' + year) === -1)
{
calendar[id][2][calendar[id][2].length] = id + '_' + day + '_' + date + '_' + month + '_' + year;
}
save_all();
update_calendar_display();
}
}
이 생성 된 때했던 변수, 루프가 종료되지 않은 온 클릭 기능 액세스 할 수있는 최선 옵션은 무엇입니까? u는 UR 코드에서 어떤 폐쇄을 사용하지 않은
감사합니다; 현재 http://JonathansCorner.com/private-logistics/에서 작동 중입니다. – JonathanHayward