>  기사  >  웹 프론트엔드  >  jQuery는 자리 표시자 태그 코드 공유를 완료하기 위해 IE 입력 상자를 구현합니다.

jQuery는 자리 표시자 태그 코드 공유를 완료하기 위해 IE 입력 상자를 구현합니다.

小云云
小云云원래의
2018-02-05 13:07:461065검색

이 글은 주로 jQuery 이벤트 응답과 페이지 요소 속성의 동적 작업을 포함하여 jQuery가 IE 입력 상자의 자리 표시자 태그 기능을 구현하는 방법을 소개합니다. 이를 참조하는 것이 모든 사람에게 도움이 되기를 바랍니다.

입력 상자에 placeholder="xx" 속성을 추가하면(예:


<input type="text" placeholder="请输入关键词"/>

) Chrome과 같은 고급 브라우저의 입력 상자에서 텍스트 대체 기능을 구현할 수 있습니다. , 다음 그림이 표시됩니다. 표시된 대화 상자:

그러나 이 속성은 IE6은 물론 WIN7의 기본 브라우저인 IE8과 호환되지 않습니다. 즉, 자리 표시자 태그는 IE에서 지원되지 않습니다.

믿을 수 없다면 이 코드를 가져와서 IE8에서 실행하고 시도해 보세요. 빈 대화 상자가 나타납니다.

IE에서 이를 달성하려면 포커스를 잃고 흐리게 하는 구성 요소를 사용해야 합니다. 및 get focus. 자세한 내용은 "JavaScript 컴포넌트 포커스와 페이지 내 앵커 포인트 간 값 전송 방법"을 참조하세요.

사실 여기에서는 "jQuery"를 검토하는 데 전혀 사용되지 않습니다. 컨트롤 노드를 통한 get 메소드를 통해 포그라운드에서만 매개변수 전송을 구현합니다."

아이디어는 매우 간단합니다. 처음에는 이 텍스트 상자의 기본값은 #cccccc 회색 글꼴이고 값은 "키워드를 입력하세요"입니다. 포커스를 잃으면 색상을 #000000 검정색으로 설정하고 값이 비어 있습니다. 일단 포커스를 잃으면 값이 비어 있으면 즉시 기본 #cccccc 회색 글꼴로 복원하고 값은 "키워드를 입력하세요"입니다

The 코드는 다음과 같습니다.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>搜索输入框替换文本</title>
<script type="text/javascript" src="js/jquery-1.11.1.js"></script>
</head>
<body>
<form id="test">
  <input id="searchKeyword" type="text" maxlength="30" value="请输入关键词" style="color:#cccccc" />
</form>
</body>
</html>
<script type="text/javascript">
$(document).ready(function(){
  var isthisnull = true ;
  $("#searchKeyword").focus(function(){
    if ($(this).val() == "请输入关键词" && isthisnull) {
      $(this).val("");
      $(this).attr("style","color:#000000");
      isthisnull = false;
    }
  });
  $("#searchKeyword").blur(function(){
    if ($(this).val() == "") {
      $(this).val("请输入关键词");
      $(this).attr("style","color:#cccccc");
      isthisnull = true;
    }
  });
});
</script>

여기에 isthisnull의 부울 값이 추가되어 비어 있는지 여부를 판단하는 것은 사용자가 "키워드를 입력하세요"를 입력할지 여부를 결정하는 것입니다.

생각할 수 없습니다. 텍스트 상자에 "키워드를 입력하세요"가 있는데, 이는 비어 있다는 뜻입니다. 사용자가 직접 "키워드를 입력하세요"를 입력하면 어떻게 되나요?

색이나 스타일의 값이 "#cccccc"인지 "color:#cccccc"인지 확인하기 위해 여기에서 jquery 또는 javascript를 사용하면 안 됩니다. 왜냐하면 $(this).css("color")를 사용하여 색상을 검색하면 출력 결과가 색상에 따라 달라지기 때문입니다. 예, 스타일을 선택하면 IE는 이것이 문자열이 아닌 객체라고 생각합니다. isthisnull을 설정하면 나중에 추가 양식 확인을 준비할 수도 있습니다. 마지막으로 IE에서는 다음과 같은 효과를 얻을 수 있습니다.

관련 권장 사항:

React Native 자리 표시자 사용 방법에 대한 자세한 설명

jQuery 캡슐화된 자리 표시자 예제 코드

HTML5 자리 표시자 속성 세부 정보

위 내용은 jQuery는 자리 표시자 태그 코드 공유를 완료하기 위해 IE 입력 상자를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.