2014-01-18 62 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'); 
});