2013-03-19 4 views
0

내 로컬 컴퓨터에서 jsfiddle에서 동일한 코드를 실행할 때 작동하지 않습니다. 다른 jQuery 함수가 작동하기 때문에 jQuery가 링크되어 있습니다.jsfiddle에서 작동하지만 내 로컬 컴퓨터에서는 작동하지 않습니다.

http://jsfiddle.net/g2kBm/56/

<div class="errorbox-good"> 
     <div> 
      <div class="form-entry"> 
       <label> 
        <div> First Name 
         <span class="ss-required-asterisk">*</span> 
        </div> 
       </label> 
        <input type="text" id="fname" name="fname" required> 
      </div> 
     </div> 
    </div> 

<div class="errorbox-good"> 
     <div> 
      <div class="form-entry"> 
       <label> 
        <div> Last Name 
         <span class="ss-required-asterisk">*</span> 
        </div> 
       </label> 
        <input type="text" name="lname" id="lname" required> 
      </div> 
     </div> 
    </div> 

jQuery를

$('input').blur(function() { 
if ($('#fname').attr('value') == $('#lname').attr('value')) { 
alert('Same Value'); return false; 
} else { return true; } 
}); 
경고가 나에게 표시되지 않는 이유는

?

+0

로컬 복사본에서 JQuery를 가져 왔는지 100 % 확실합니까? 오류 콘솔을 확인 했습니까? –

+0

준비 또는로드 사용 –

답변

3

기본적으로 jsfiddle은 jQuery.load() 메서드를 사용합니다.이 메서드는 페이지의 모든 요소가로드 될 때까지 대기합니다. 하지만 코드 스 니펫을 기반으로하면 jQuery가로드되기 전에 Javascript가 실행될 수 있으므로 아무 일도 일어나지 않습니다.

해결 방법은 .ready() 또는 .load() 메서드 내에 모든 jQuery 코드를 묶는 것입니다.

$(document).ready(function() { 
    $('input').blur(function() { 
     if ($('#fname').attr('value') == $('#lname').attr('value')) { 
      alert('Same Value'); 
      return false; 
     } else { return true; } 
    }); 
}); 
0

코드를 $(document).ready() 처리기 안에 넣으십시오.

$(document).ready(function() { 
    $('input').blur(function() { 
     if ($('#fname').attr('value') == $('#lname').attr('value')) { 
      alert('Same Value'); 
      return false; 
     } else { 
      return true; 
     } 
    }); 
}); 
관련 문제