2012-06-05 3 views
0

나는 여전히 jQuery (1.6 분)와 자바 스크립트를 배우고 있지만, 지금까지 달성 할 수 있었던 것에 상당히 만족하고있다.하지만이 문제는 나를 속일 수있다. 나는 4 시간 동안 그것을보고 있었다.jQuery/Javascript가 작동하지 않는 것 같습니다.

내가 내에 포함 된 페이지에서 다음 링크가 (있는 ID 값이 '북서부'임) : - 클릭했을 때, 정확하게는 가시를 만드는에 콘텐츠를로드

<figure><a href="http://localhost:8888/popup/PFS98394" class="popUpSimple"><img src="http://localhost:8888/98394.jpg" alt="" border="0"></a></figure> 

. 페이지를 새로 고치지 않고 단순히 현재 내용 위에 DIV를 표시합니다. 이 작업을 수행하는 Javascript는 표준 jQuery Fancybox를 사용합니다.

모두 제대로 작동하므로 DIV를 여러 번 표시하고 숨길 수 있으며 각 경우마다 다른 정보가로드됩니다.

의 setTimeout 라인은 작은 그래픽을 의미
$(".RefreshThumb").find("a").click(function(){ 
    $(".RefreshLoader").show(); 
    $("#NorthWest").load("/refreshdata"); 
    setTimeout(RefreshHide,1000); 
}); 

(refreshloader) 순간적 : 그것을 클릭 할 때이 코드를 실행한다 - 이제 사용자가 최신 내용으로 '북서쪽'DIV를 다시로드 할 수있는 IMG 버튼이 있습니다 사용자에게 데이터의 새로 고침이 발생하고 있음을 알리기 위해 표시됩니다.

이제 $ ("# NorthWest")로드 등 라인을 제거하고 모두 잘 작동합니다. 해당 라인을 다시 추가하십시오. popUpSimple 링크는 IMW 버튼을 클릭하여 NorthWest DIV를 새로 고칠 때까지 작동합니다. 그 후 popUpSimple 컨텐츠가 새 페이지로로드되고 더 이상 중첩되지 않습니다. 클릭하기 전에 팝업 오버레이가 아무 문제없이 작동한다는 것을 클릭하십시오. 클릭 횟수.

편집 :가 나는 IMG 버튼을 클릭 한 후 북서쪽 DIV를 다시로드 지적한다 그것은 너무 않습니다 성공적으로, 당신은 다음을 클릭하면 그에만 popUpSimple가 일이 잘못 링크!

내가 잘못 했습니까? 페이지가 다시로드보다는 DIV에로드 된 후 나는 보여 사파리와 웹 검사기 창에서보기를 사용하고 있습니다 :

<script type="text/javascript"> 
$(document).ready(function() { 

을 메시지 말을 참조 오류 : 변수 $를 찾을 수 없습니다.

누구나 올바른 방향으로 나를 가리킬 수 있습니다 .... 제발! 그것은 EventListener를 문제 같은 소리

+1

당신이 스크립트 위의 jQuery를 포함하고 있는지 확인하십시오. – orolo

+0

더 많은 코드를 볼 수 있습니까? 나는 당신이 당신의 이벤트 청취자를 잃어 버리고있는 컨텐츠를로드 할 때 어떤 느낌을 갖습니다. –

+0

http://jsfiddle.net과 같은 라이브 데모에서 동작을 재현 할 수 있다면 회신하기가 훨씬 쉬울 것입니다. –

답변

1

대신 아마 JQuery와 '$'가 또 다른 JS 프레임 워크에 의해 무시되고 .click(function(){}

+1

AFAIK, '.on'은 jQuery 1.7에서 소개되었습니다. OP는 그가 1.6을 사용하고 있기 때문에'.live' 또는'.delegate'를 사용해야한다고 말했습니다. – Andre

+0

으악, 절대적으로 맞습니다! –

1

.on('click',function(){}를 사용해보십시오.

'$'를 'jQuery'로 바꾸십시오. 물론 작은 따옴표를 사용하지 마십시오. 당신은 예를 들어, jQuery 라이브러리를로드 한 후도 http://api.jquery.com/jQuery.noConflict/ 가이 권리를 추가 할 수 있습니다 사용하려고 할 수 있습니다 :

<script type="text/javascript" src="other_lib.js"></script> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
    $.noConflict(); 
    // Code that uses other library's $ can follow here. 
</script> 
+0

jQuery에 익숙하지 않더라도 여전히 기본을 배우기 때문에 노력하겠습니다. .click 함수에서? 소재? – TIW

+0

실제로는 테스트와 마찬가지로 "$"대신 jQuery를 사용해보십시오 : 'jQuery (". RefreshThumb"). find ("a"). (function() {jQuery (". RefreshLoader"). – Theorian

+0

제안대로 코드를 변경 했으므로 동일한 문제가 발생합니다. NorthWest DIV의 새로 고침 버튼을 클릭하지 않고도 popUpSimple DIV를 한 번, 두 번, 여러 번 표시 할 수 있으며 완벽하게 작동합니다. 새로 고침 버튼을 클릭 한 다음 popUpSimple 링크를 클릭하면 오버레이가 아닌 페이지가 다시로드됩니다. (충돌이 아니라고 제안하겠습니까?) – TIW

관련 문제