이와 같은 단위로 작동하는 코드 하나를 만들 수 있습니다. 모든 관련 id 값이 클래스 이름으로 변경되고 전체 조각이 컨테이너에 저장됩니다. 이를 통해이 입력 컨테이너와 연관된 객체를 이벤트를 발생시킨 객체를 기준으로 일반적인 방법으로 찾을 수 있습니다.
<div class="inputContainer">
<span class="orderlabel-left">
<img src="resources/images/labelbackground-left.png" class="leftsidecorneruser">
</span>
<span class="orderlabel orderlabelcommon">Username</span>
<span class="orderlabel-right">
<img src="resources/images/labelbackground-right.png" class="rightsidecorneruser">
</span>
<div>
<input type="text" value="" name="" class="orderinput" size="40" tabindex="1" id="user">
</div>
</div>
$('input').focus(function() {
var container = $(this).closest(".inputContainer");
container.find(".leftsidecorneruser").attr("src", "resources/images/yellowleft.png");
container.find(".rightsidecorneruser").attr("src", "resources/images/yellowright.png");
container.find(".orderlabelcommon").removeClass("orderlabel").addClass("yellowbackground");
});
$('input').blur(function() {
var container = $(this).closest(".inputContainer");
container.find(".leftsidecorneruser").attr("src", "resources/images/labelbackground-left.png");
container.find(".rightsidecorneruser").attr("src", "resources/images/labelbackground-right.png");
container.find(".orderlabelcommon").addClass("orderlabel").removeClass("yellowbackground");
});
참고로, 다른 접근 방식이 훨씬 적은 코드와 함께 할 수와 같은 대부분의 CSS 규칙을 사용하여 :
$('input').focus(function() {
$(this).closest("inputContainer").addClass("hasFocus");
});
$('input').blur(function() {
$(this).closest("inputContainer").removeClass("hasFocus");
});
, 당신은 단지 객체 여부에 모든 CSS 규칙 파견 할 것 상위 CSS 클래스 .hasFocus
이 있는지 여부 이미지는 배경 이미지로 변경해야하지만 CSS로도 처리 할 수 있습니다.
무엇이 문제입니까? 작동하지 않습니까? 어떤 오류가 있습니까? – ManseUK
제발 ** 당신이 당신의 질문을 읽는 다른 누군가라고 상상해보십시오. ** ** ** ** ** ** 그 사람이 무엇에 대해 물어 보는 지 알 수 있습니까? – gdoron
배경을 입력 위에있는 텍스트로 변경하려고합니다. 나는 다시 형식을 정하고 더 쉽게 읽을 수 있도록했습니다. 페이지를로드 할 때 "inputtoptext"파란색 배경이있었습니다. 텍스트 입력 상자를 클릭하면 노란색으로 변경하고 싶습니다. –