2014-01-18 3 views
0

친구가 쓴 php 코드로 추가 된 .thumb 클래스의 모든 축소판 갤러리가 있습니다. 간단한 클릭 기능을 추가하려고 시도했습니다.CSS 선택기가 작동해도 클릭 기능이 작동하지 않습니다.

$('.thumb').click(function () { 
     console.log('test'); 
    }); 

그리고 아무 것도 기록하지 않습니다. 우리가 php으로 전환하기 전에 이것을 시도했지만 여전히 작동하지 않았습니다.

<div id="navbar"> 
<img src="images/sig.png"> 
<ul> 
    <li id="port"><a>Portfolio</a></li> 
    <ul id="inner"> 
    <?php 
    $dir = opendir("images/portfolio"); 
     while ($dosya = readdir($dir)){ 
      if(substr($dosya,-1)!="." and is_dir("images/portfolio/".$dosya)){ 
        if(file_get_contents("images/portfolio/".$dosya."/active.dl") == 'active'){ 

    ?> 
     <li class="galleryActivator" cats="<?=$dosya?>"><a href="#"><?=file_get_contents("images/portfolio/".$dosya."/name.dl")?></a></li> 

    <?php }} 
     }?> 
    </ul> 
    <li><li><a href="#">Events</a></li></li> 
    <li><a href="#">About</a></li> 
</ul> 

</div> 

<div id="main"> 
<div id="thumbnails"> 
</div> 
</div> 

그리고 스크립트 :

(function(){ 
    $('#inner').hide(); 
    $('#main').hide(); 
    $('#slideshow').hide(); 

    $('#port').click(function(){ 
     $('#inner').slideToggle(200); 
     console.log('test'); 
    }); 

    $('.galleryActivator').click(function() { 
     $("#main").hide(); 
     $("#main img").remove(); 

     var category = $(this).attr('cats'); 
     var catSrc = "images/portfolio/" + category + "/files/"; 
     var size = $(this).attr("data-size"); 
     console.log(size); 

     var $thumbnails = $("#thumbnails"); 


      $thumbnails.load("albumler.php?adres="+category); 



     $('#main').fadeIn(200); 
    }); 

    $('.thumb').click(function () { 
     console.log('test'); 
    }); 

})(); 
+2

여기서'.thumb' 클래스는 어디에 있습니까? –

+0

실제로 그 클래스를 가진 요소가 있다고 가정하면 DOM 준비 처리기가 실제로 없다는 것을 알게되고, 단지 IIFE 일뿐입니다. – adeneo

답변

-1

당신이 가진 당신의 위의 HTML에 아무 것도 필요 없다

다음은 관련 html 코드입니다 (그 당시 이미지가 jQuery로 가져온) thumb

그러나 일단 문서를 추가하면 준비가 완료됩니다.

+2

왜? 그 대답은 – jmore009

+0

입니다. 코드는'document.ready'에서 실행되지 않습니다. 따라서 모든 요소가로드되기 전에 스크립트가로드되면 (예 : '') 여전히 실패합니다. – mc10

+0

포트폴리오를 클릭하면 PHP를 통해 추가됩니다. – sodiumnitrate

1

섬네일을 동적으로로드하는 것 같습니다. 다음과 같이 이벤트 핸들러를 설정해야합니다.

$(document).on("click", ".thumb", function () { 
    console.log('test'); 
}); 
관련 문제