반응형
자바스크립트를 활용하여 작업하던 도중에 클릭이벤트가 되지 않아 난감할때가 많습니다.
저의 경우 slick 등 라이브러리를 사용하여 생성된 슬라이드에 click 이벤트가 먹히지 않았던적이 대부분이었습니다.
그럴때 저는 이 두가지 해결방법으로 거의 해결되었으니 확인해보세요.
1. 내가 작성한 스크립트가 해당 코드보다 아래에 있는지 확인한다.
예를들어 slick을 구현하기 위해 $('document').slick(); 이라는 코드를 작성하였을겁니다. 그 이후 작성한 클릭이벤트가 이 코드보다 위에 있을경우 스크립트는 위->아래 방향으로 순서대로 코드를 실행하기 때문에 당연히 slick이 되지 않은 태그를 클릭하니까 이벤트가 발생이 되지 않는겁니다. |
2. 그럼에도 되지 않을경우에는 click 이벤트를 다른 형태로 작성한다.
//기본적인 click 이벤트
$('a').on('click',function(){
//함수
});
//다른 형태의 click 이벤트
$('document').on('click','a',function(){
//함수
});
다른 형태의 클릭이벤트대로 $('document')를 먼저 불러와주고 그뒤에 click이벤트에 a를 바인딩 시키면 함수가 제대로 출력되는것을 확인할 수 있습니다.
반응형