나는 앵커 태그 <a class="next">next</a>
을 "버튼"으로 만들었습니다. 때로는 표시 할 내용이 없으면이 태그를 숨길 필요가 있습니다. .hide()를 사용하여 버튼을 숨기고 .show()를 사용하여 버튼을 다시 표시하면 모두 올바르게 작동합니다. 하지만 대신 .fadeIn() 및 .fadeOut()을 사용하려고했습니다.바인드 해제 ('클릭') 후 클릭 이벤트를 "다시 바인딩"하는 방법은 무엇입니까?
내가 겪고있는 문제는 사용자가 fadeOut 애니메이션 중에 버튼을 클릭하면 쇼를 실행하는 로직에 문제가 발생할 수 있다는 것입니다. 내가 찾은 해결책은 원래 클릭 기능이 시작된 후 버튼에서 클릭 이벤트를 바인딩 해제 한 다음 애니메이션이 완료된 후 다시 바인딩하는 것이 었습니다.
$('a.next').click(function() {
$(this).unbind('click');
...
// calls some functions, one of which fades out the a.next if needed
...
$(this).bind('click');
}
위의 예의 마지막 부분이 작동하지 않습니다. 클릭 이벤트는 실제로 앵커에 다시 바인딩되지 않습니다. 누구든지 이것을 달성하기위한 올바른 방법을 알고 있습니까?
저는 독학 jquery 사람입니다. 그래서 unbind()와 bind()와 같은 상위 수준의 것들이 제 머리 위에 있고, jquery 문서는 제가 이해하기에 충분히 단순하지 않습니다.
감사합니다. nickf, 완벽하게 작동했습니다. 그러나 누군가가 알면 클릭 이벤트를 "다시 바인딩"하는 방법에 대해서는 여전히 궁금합니다. – Ben