Programing

특정 입력에서 IE10의 "필드 지우기"X 버튼을 제거 하시겠습니까?

lottogame 2020. 9. 30. 08:38
반응형

특정 입력에서 IE10의 "필드 지우기"X 버튼을 제거 하시겠습니까?


확실히 유용한 기능이지만 비활성화 할 수있는 방법이 있습니까? 예를 들어, 양식이 단일 텍스트 필드이고 그 옆에 이미 "지우기"버튼이있는 경우 X도 표시 할 필요가 없습니다.이 상황에서는이를 제거하는 것이 좋습니다.

할 수 있고, 그렇다면 어떻게할까요?


상자 ::-ms-clear유사 요소 스타일 지정 :

.someinput::-ms-clear {
    display: none;
}

widthheight설정하는 것이 더 낫다는 것을 알았습니다 0px. 그렇지 않으면 IE10은 필드에 정의 된 패딩을 무시합니다 .-- padding-right입력 필드에 오버레이 한 'X'아이콘 위에 텍스트가 입력되지 않도록하기위한 것입니다. IE10이 내부적으로 padding-right입력을 ::--ms-clear의사 요소에 적용하고 의사 요소를 숨기면 padding-right값이 input.

이것은 나를 위해 더 잘 작동했습니다.

.someinput::-ms-clear {
  width : 0;
  height: 0;
}

이 규칙을 텍스트 유형의 모든 입력 필드에 적용하므로 나중에 복제 할 필요가 없습니다.

input[type=text]::-ms-clear { display: none; }

다음을 사용하여 덜 구체적으로 지정할 수도 있습니다.

::-ms-clear { display: none; }

나는이 답변을 추가하기 전에도 나중에 사용했지만 대부분의 사람들은 그보다 더 구체적인 것을 선호한다고 생각했습니다. 두 솔루션 모두 잘 작동합니다.


::-ms-clear( http://msdn.microsoft.com/en-us/library/windows/apps/hh465740.aspx ) 스타일을 지정해야합니다 .

::-ms-clear {
   display: none;
}

또한 ::-ms-reveal암호 필드의 의사 요소에 대한 스타일도 지정 합니다.

::-ms-reveal {
   display: none;
}

페이지가 호환 모드에서 실행될 때 모든 스타일 및 CSS 기반 솔루션이 작동하지 않는다는 점에 주목할 가치가 있다고 생각합니다. 호환성 모드 렌더러는 브라우저가 x를 표시하더라도 ::-ms-clear 요소를 무시합니다.

페이지가 호환 모드에서 실행되어야하는 경우 X가 표시 될 수 있습니다.

필자의 경우 일부 타사 데이터 바인딩 컨트롤을 사용하고 있으며, 솔루션은 "onchange"이벤트를 처리하고 필드가 x 버튼으로 지워지면 백업 저장소를 지우는 것이 었습니다.

참고 URL : https://stackoverflow.com/questions/14007655/remove-ie10s-clear-field-x-button-on-certain-inputs

반응형