2014-01-18 63 views
0

我有一個縮略圖庫,所有的類都是.thumb,它們是由朋友編寫的php代碼添加的。我試圖添加一個簡單的點擊功能:儘管CSS選擇器不起作用,但點擊功能不起作用

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

而且它不記錄任何東西。在我們切換到php之前,我曾嘗試過,但它仍然無效。 (當時的圖像是用jQuery進口)

下面是相關html代碼:

<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有什麼類thumb

但是一旦你只是添加文件準備好

$(document).ready(function(){  

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

}); 
+2

爲什麼?那就是答案 – jmore009

+0

不是,代碼不會在'document.ready'上運行,所以如果腳本在所有元素加載之前加載(例如在''中),它仍然會失敗。 – mc10

+0

一旦點擊了投資組合下的類別,它就會通過php添加。 – sodiumnitrate

1

它似乎你動態加載你的縮略圖;你應該像這樣設置事件處理程序:

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