나는 몇 가지를 추천합니다. 이미 가지고있는 빈 것을 복제하십시오.
질문에 live
도 설정했으나 실제로 사용할 답변은 '답변 추가'버튼입니다. Live는 DOM에 추가 된 모든 항목에 대한 핸들러를 설정합니다. 첫 번째 테스트가 작동하지 않는 경우를 제외하고는 '답변 추가'버튼을 클릭하는 이유입니다.
var emptyQ = $("li.question").clone(),
emptyA = $("li.answer").clone();
$("#addQuestion").live('click', function(e) {
e.preventDefault();
$('#questioncontainer').append(emptyQ.clone());
});
$(".addAnswer").live('click', function(e) {
e.preventDefault();
$(this).parent().find(".answerContainer").append(emptyA.clone());
});
근무 예 : http://jsfiddle.net/jonathon/Sd9Ag/
내가 클릭 된 버튼의 질문/응답 용기를 얻을 수 $(this).parent()
를 사용합니다. 즉, 동일한 처리기가 모두에게 적용됩니다.
마침내 - 차이가 있는지 모르겠지만 클릭 핸들러에서 return false
대신 e.preventDefault()
을 사용합니다. 나는 잘 모르겠다 - 나는 그것이 더 우아하다고 생각한다.
내가 왜 투표에 실패했는지 모르겠다. 이것은 매우 유효한 질문이다. 공정성을 회복하기 위해 투표했다. :) – Andrey
감사합니다 Andrey. 1 분 안에 투표가 종료됩니다! 그것은 첫 번째입니다. – superUntitled