2011-11-04 3 views
0

클릭 할 때 입력 값을 제거한이 코드를 수정하려고합니다. 그리고 Blur에서 입력 값을 다시 입력합니다. 당신은 여기 내 jsFiddle 내가 무엇을 의미하는지에 관해 알기 위해 볼 수입력 포커스 Jquery 문제

JSfiddle

문제

처음 두 입력에 대해 작동하는 것 같다,하지만 나머지는 아무것도하지 않는 것 . 또한 텍스트 영역에서는 작동하지 않는 것으로 보입니다. 이상한 행동은 여기 있지만 Javascript 헤드가이 문제를 해결할 수 있다고 확신합니다.

고마워요!

답변

0

그리고 지금은 작동합니다 http://jsfiddle.net/maniator/3Ys7c/3/

를 사용하여 jQuery를 data() attrbute :-) :

jQuery(document).ready(function($) { 
    $("input, textarea").focus(function() { 
     if (!$(this).data('original')) { 
      $(this).data('original', $(this).val()); 
     } 
     if ($(this).val() == $(this).data('original')) { 
      $(this).val('').css({ 
       'color': "#999999", 
       'background-color': '#c6e9ff' 
      }); 
     } 
    }); 
    $("input, textarea").blur(function() { 
     if ($(this).val() == "") { 
      $(this).val($(this).data('original')).css({ 
       'background-color': '#ffffff' 
      }); 
     } 
    }); 
}); 

당신이 그들 중 누구도 없었다 this.id을 사용하고 있기 때문에 당신이 작동하지 않은 이유. 각 입력의 data 속성을 사용하는 경우 각 입력은 무엇을해야하는지 알 수 없으므로 :-)

+0

굉장! 설명 주셔서 감사합니다 @Neal :-) – remi90

+0

@ remi90 또한''attr ('value')'.val()'을 사용하지 않습니다. – Neal

+0

환영합니다^_ ^ – Neal

0

또는 단순히 요소에 id="" 속성을 지정하십시오.