웹 개발 메모장

[JQuery] input type=file 태그 CSS 변경하기(trigger()) 본문

옛날../자바스크립트

[JQuery] input type=file 태그 CSS 변경하기(trigger())

도로롱주 2018. 1. 2. 16:48




$('#inputTypeFile').trigger('click');


trigger() : 강제로 이벤트를 발생시키는 JQuery 함수



1
<input type="file">
cs


위의 태그는 CSS로 수정하기 참 까다로운 태그입니다.


위의 태그를 직접 수정하는 내용은 다루지 않고 비슷한 효과를 낼 수 있는 방법이 trigger() 를 이용하는 것입니다.


예를 들어 아래와 같은 페이지에서 프로필 사진을 클릭하여 파일을 선택하고 싶은 경우


1
<input type="file" id="profileFile" style="visibility:hidden;">
cs


이렇게 input 태그를 보이지 않게 설정한 뒤 사진의 클릭 이벤트가 발생할 경우 input 태그에 강제로 click 이벤트를 발생시키는 방법이 있습니다.


코드를 보면 이미지 태그와 파일 태그가 각각 아래와 같을 때


1
2
<img src='/defaultImg.png' class='profileImg' id='profileImg'>
<input type="file" id="profileFile" style="visibility:hidden;" >
cs


자바스크립트를 아래처럼 작성하면


1
2
3
$(document).on('click''#profileImg'function(){
    $('#profileFile').trigger('click');
});
cs


아래 사진 처럼 프로필 이미지를 클릭했을 때 input태그가 클릭됬을 때의 효과를 볼 수 있습니다.




Comments