내가 버튼을 누르면이 JQuery와 표현을 가지고, 서버에서 일부 HTML을 가져온 다음 내 문서의 DOM 노드에 추가 :.done 처리기가 여러 번 호출되지 않도록하려면 어떻게해야합니까?
<script type="text/javascript">
$(document).ready(function() {
$(".addbutton").click(function() {
var addbuttonNode = $(this);
$.post("/InteractiveApplications/GetQuizAnswer", { id: '@guid' })
.done(function (data) {
$(addbuttonNode).next().next().append(data); //find better way of doing this
});
});
});
</script>
내 웹 사이트에 여러 개의 ".addButton"버튼이 . 내가 겪고있는 문제는 버튼을 여러 번 클릭하면 my .done 핸들러가 여러 번 호출된다는 것입니다.
내 생각 엔 실행중인 이벤트 핸들러 목록이 있는데, 어디서/왜 이런 일이 일어나는 지 이해할 수 없다.
는 "VAR addbuttonNode = $ (이);", 당신은 할 때 'jQuery를 함께 포장 nedd하지 않습니다 .done() 다음에 변수를 사용하여 요소에 액세스하십시오. –
정확한 대답을 제공하기에 충분한 데이터가 없습니다. MCVE를 만들 수 있습니까? – blgt
단추에 이벤트 처리기를 연결하면 단추를 클릭 할 때마다 이벤트 처리기가 여러 번 호출됩니다. 단추를 여러 번 클릭했음을 언급 했으므로 이벤트 처리기가 여러 번 호출되어 여러 개의 Ajax 요청을 만들고 그에 따라 여러 번의 호출을 할 수 있습니다. – sachinjain024