나는 그들이 클릭되었을 때 목록 기능을 발사하는 일련의 버튼을 가지고있다. 목록 함수 자체에는 AJAX 요청과 그 전후에 다른 항목들이 페이지의 별도 섹션에로드됩니다.순서대로 실행되도록 클릭 이벤트를 Mootools로 어떻게 연결할 수 있습니까?
var list = function() { }
$$('.buttons').addEvent('click', list);
다른 버튼을 클릭하기 전에 목록을 완료 할 때까지 기다려도 문제가 없습니다. 그러나 두 개의 버튼을 빠르게 누르면 페이지가 잘못된 응답을 반환하기 시작합니다. 실제로 응답이 1만큼 동기화되지 않는 것처럼 보입니다. 따라서 버튼 A를 빠르게 누른 다음 버튼 B를 누르면 응답 A가로드됩니다. 그런 다음 버튼 C를 클릭하면 응답이로드됩니다. B.
이 문제를 해결하기 위해 내가 볼 수있는 두 가지 방법이 있습니다 :
1) 어떤 버튼을 클릭하면 다른 버튼에서 클릭 이벤트를 제거하고 목록이 완료되면 복원이. 불행히도, 나는 목록 기능의 상단에 $$('.buttons').removeEvents()
을 놓고 시도했다. 그리고 나서 $$('.buttons').addEvent('click', list);
하단에 있지만 이것은 문제에 영향을 미치지 않는다.
2) 앞의 목록이 완료되었을 때만 목록이 실행되도록 클릭 이벤트를 연결하십시오.
아무도 나에게 두 번째 솔루션 작동 방법을 알려 줄 수 있습니까? 또한, 왜 첫 번째 솔루션이 작동하지 않는지, 왜 이상한 지연된 AJAX 응답 동작을 얻는 지 알고있는 사람이 있으면 좋을 것입니다.