이 솔루션은 jQuery를 요구한다!
는 그래서 같은 유틸 모듈에서이 기능을 싸서 다음 HTML에서
var utils = (function() {
var utils = {};
//some other properties...
utils.setupAutoclearInputs = function() {
$('.input-autoclear').each(function() {
$(this).data('default', $(this).val()).addClass('gray');
}).focus(function(e) {
if (!($(this).val() !== $(this).data('default'))) {
$(this).removeClass('gray').addClass('black').data('modified', true).val('');
}
}).blur(function(e) {
if (!($(this).val() !== $(this).data('default')) || $(this).val() === '') {
$(this).removeClass('black').addClass('gray').val($(this).data('default'));
}
});
}
//some other methods...
return utils;
}());
:
추가 : class="input-autoclear"
당신이 포함하려는 각 입력에.
설정 기본값 : <input ... value="defaultValue" ... >
은 회색과 검은 색 텍스트 또는 당신이 무엇을 원하는 일부 CSS 클래스를 만듭니다.
개인적으로 나는 .gray { ... }
과 .black { ... }
을 사용하고 있지만 더 나은 이름을 원할 수 있습니다. 마지막으로
:
화재를 사용하여 유틸 모듈 방법 :
$(document).ready(function() {
...
utils.setupAutoclearInputs();
...
}
모듈의 코드가 document.ready 호출 외부에서 살고 있는지 확인하고 당신은 아마의 글로벌 범위에서 원하는됩니다 신청.
올바른 자바 스크립트 모듈 작성에 대한 자세한 내용은 article을 방문하십시오.
이렇게하면 종료시 텍스트가 반환되지 않습니다. – cchiera
죄송합니다, 지금 고정. 변수'defaultText'에 접근하기 위해'this' 키워드를 부적절하게 사용하고있었습니다. 'this' 키워드를 이해하는 데 도움이 필요하면 여기에 좋은 자료가 있습니다 : http://www.learningjquery.com/2007/08/what-is-this – shaunsantacruz