HTML5 지원 브라우저에서 사용할 수 있는 place holder 는 IE8 이하에서는 작동하지 않는다. 그래서 따로 자바스크립트 처리를 해야하는데 서핑 중 좋은 소스를 발견하여 정리한다.
출처 http://www.wunderlist.com/
html5 코딩으로 placeholder 태그를 추가한다. 인풋 박스의 값이 없을 때 placeholder attribute 의 value 를 적용한다.
var layout = {};
layout.placeHolders = function() {
layout.placeHolders = function() {
$(':input[placeholder]').each(function() {
var $this = $(this);
if($this.val() === '') {
$this.val($this.attr('placeholder'));
}
$this.focus(function() {
if($this.val() === $this.attr('placeholder')) {
$this.val('');
}
});
$this.blur(function() {
if($this.val() === '') {
$this.val($this.attr('placeholder'));
}
});
});
};
$(document).ready(function() {
layout.placeHolders();
});
<input class="input-login" type="text" id="login-email" name="email" placeholder="Email" />
<input class="input-login" type="password" id="login-password" name="password" placeholder="Password" />
* 참고로 데스크탑 웹에서는 플레이스홀더 사용보다 배경 이미지를 사용하여 처리하는 방법이 더 나아보인다. 플레이스홀더는 기본적으로 값이 존재하는 상태가 되기 때문에 원치 않는 결과를 발생시키기도 하기 때문이다. 벅스뮤직의 로그인 인풋박스를 참고하는 편을 추천!
'Development > Coding' 카테고리의 다른 글
자바스크립트 코딩할 때 실수 하기 쉬운 몇가지 (2) | 2011.06.17 |
---|---|
네이버 블로그 검색 API 연동 (PHP) (3) | 2011.04.07 |
jQuery 특정 요소만 ajax 로딩하고 싶은데... (0) | 2010.12.24 |
CSS 3 rotate 45deg 테스트 (0) | 2010.12.17 |
PHP Variable Tests (0) | 2010.12.07 |