HTML에서 파일 찾아보기 버튼을 대체하는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/108149

  •  01-07-2019
  •  | 
  •  

문제

다음을 사용할 때 html로 생성된 찾아보기 버튼을 교체할 수 있다는 것을 알고 있습니다. input 태그를 달다 type="file.

최선의 방법이 무엇인지 잘 모르겠습니다. 누군가 이에 대한 경험이 있으면 기여해 주십시오.

도움이 되었습니까?

해결책

가장 좋은 방법은 파일 입력 제어를 만드는 것입니다 거의 보이지 않음(불투명도를 매우 낮춤 - 수행하지 않음 "시계:숨겨진" 또는 "표시하다:없음") 그리고 그 아래에 무언가를 절대적으로 배치하십시오. Z-색인.

이렇게 하면 실제 컨트롤이 표시되지 않으며 그 아래에 놓은 모든 항목이 표시됩니다.그러나 컨트롤이 해당 버튼 위에 위치하므로 여전히 클릭 이벤트를 캡처합니다(이것이 가시성이나 표시가 아닌 불투명도를 사용하려는 이유입니다. 브라우저는 요소를 숨기기 위해 요소를 클릭할 수 없도록 만듭니다).

이 기사 기술에 대해 자세히 설명합니다.

다른 팁

브라우저는 사용자가 파일 입력을 조작하는 것을 별로 좋아하지 않지만 그렇게 하는 것은 가능합니다.몇 가지 기술을 보았지만 가장 간단한 방법은 버튼으로 사용하려는 모든 항목 위에 파일 입력을 절대적으로 배치하고 불투명도를 0 또는 거의 0으로 설정하는 것입니다.이는 사용자가 이미지(또는 그 아래에 있는 모든 것)를 클릭할 때 실제로는 보이지 않는 찾아보기 버튼을 클릭한다는 의미입니다.

예를 들어:

<input type="file" id="fileInput">
<img src="...">
#fileInput{
    position: absolute;
    opacity: 0;
    -moz-opacity: 0;
    filter: alpha(opacity=0);
}

자바스크립트를 사용해도 괜찮다면 파일 입력의 불투명도를 0으로 설정하고 스타일이 지정된 컨트롤을 z-index를 통해 맨 위에 놓고 버튼의 클릭 이벤트를 파일 입력으로 보낼 수 있습니다.기술은 여기를 참조하세요. http://www.quirksmode.org/dom/inputfile.html

이는 보안상의 이유로 기술적으로 불가능하므로 사용자가 오해할 수 없습니다.

그러나 몇 가지 해결 방법이 있습니다. 다음을 살펴보세요. http://www.quirksmode.org/dom/inputfile.html 한 가지 예를 들면.

참고로 이 질문은 이미 요청되었습니다. 여기 (내가 같은 대답을 한 곳).

다음과 같은 플래시 업로더를 사용할 수 있습니다. SWF업로드 이것도 하려고요.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top