하이퍼링크 에 disabled 를 붙 인 후의 이야기

필드 상황:한 페이지 에 하이퍼링크 버튼 이 있 었 는데 클릭 하면 문자 인증 코드 를 얻 을 수 있 습 니 다.예 를 들 어
 
<a href="javascript:reciverSms()"> </a>
<script type="text/javascript">
function reciverSms(){
var sms = getSmsCode();
}
</script>
그러나 인증 코드 를 자주 클릭 하고 관련 장치 에 대한 압력 을 고려 하여 5 초 를 클릭 한 후에 야 다시 클릭 할 수 있 는 논 리 를 만 들 었 다.그래서 다음 버 전이 왔 다
 
function reciverSms(obj){
var sms = getSmsCode();
obj.disabled = true;
windows.setTimeout(function(){
obj.disabled = false;
},5000);
}
코드 논 리 는 간단 하 다.문 자 를 한 번 받 은 후에 링크 는 5 초 동안 사용 하지 않 는 다.그런데 생각 지도 못 한 일이 또 생 겼 습 니 다.원래 하이퍼링크 가 비활성화 되 었 고 모양 이 비활성화 되 었 지만 클릭 할 수 있 었 습 니 다.함정 이 었 습 니 다.그래서 세 번 째 버 전이 나 왔 습 니 다
 
function reciverSms(obj){
if(obj.disabled){
return;
}
var sms = getSmsCode();
obj.disabled = true;
windows.setTimeout(function(){
obj.disabled = false;
},5000);
}
이로써 이 기능 은 잘 된 셈 입 니 다.그런데 제 가 생각 하지 못 한 것 이 있 습 니 다.전에 하이퍼링크 disabled 속성 이 true 라 고 말 했 을 때,표 현 된 모습 은 회색 을 사용 할 수 없 는 상태 입 니 다.그러나 여기 특별한 예 가 있 습 니 다.이 하이퍼링크 가 color 의 css 속성 스타일 로 설정 되 어 있 으 면 비 ie 브 라 우 저 에서 표 현 된 모습 은 사용 하지 않 는 것 이 아니 라 드디어 ie 의 좋 은 모습 을 보 았 습 니 다.그래서 네 번 째 버 전이 나 왔 습 니 다
 
function reciverSms(obj){
if(obj.disabled){
return;
}
var sms = getSmsCode();
obj.disabled = true;
addClass(obj,"gray");
windows.setTimeout(function(){
obj.disabled = false;
removeClass(obj,"gray");
},5000);
}
한 걸음 한 걸음 개선 을 통 해 참깨 의 기능 이 마침내 완성 되 었 다.예 는 작 지만 나 에 게 많은 사 고 를 주 었 다.

좋은 웹페이지 즐겨찾기