2012-04-09 74 views
0

如果在我的首頁上按下了一個鏈接,我的新網站就會打開一個jQuery Colorbox。Javascript中的每個函數都不能在jQuery Colorbox中工作

<script type="text/javascript">  
     $(document).ready(function(){   
      $(".deletealbum").each(function(){   
       $(this).click(function(event){ 
        event.preventDefault(); 
        var albumname = $(this).attr('name'); 
        alert(albumname);    
        $.post('deleteAlbum.php', 
        { 
         albumname: albumname 
        });          
       }); 
      }); 
     }); 
    </script> 

這是我的JavaScript - 代碼和下面我有鏈接,這樣看

echo "<a href='#' class='deletealbum' id='$Album' name='$Album'> DELETE </a>"; 

如果我按下按鈕,什麼都不會發生在我的顏色框,但如果我有這個頁面我起始頁面的工作原理非常完美。

那麼爲什麼它不能在colorbox中工作?

+0

您不需要使用'.each('將綁定器綁定到多個元素,您可以執行'$(「。deletealbum」)。click('綁定所有綁定器。 – 2012-04-09 14:39:41

+0

@Pointy不過,這不是錯誤,不幸的是 – user1124288 2012-04-09 14:42:32

回答

0

您的Colorbox的東西是否使用iFrame?在這種情況下,您的代碼段可能不會將事件處理程序添加到您願意添加它們的元素上。

+0

這可能是問題!你能告訴我這是如何工作的?! – user1124288 2012-04-09 14:51:56

+0

你有看看拉里·巴特爾的鏈接? – 2012-10-20 23:46:43

0

運行此代碼並查看是否收到錯誤消息。

$(function() { 
    var selector = ".deletealbum"; 
    var $el = $(selector); 
    if (!$el.length) { 
     var errMsg = "Error can't find '" + selector + "'"; 
     throw new Error(errMsg); 
    } 
    $el.click(function (e) { 
     var albumname = $(e.target).attr('name'); 
     $.post('deleteAlbum.php', { 
      albumname : albumname 
     }); 
     return false; 
    }); 
}()); 

如果您收到一條錯誤消息,那麼您將不得不找到包含所需元素的幀ID。 您應該能夠使用$(window.frame [id]).find(選擇器)在iframe和幀中查找元素。

以下是更多信息的鏈接。

How can I get an element from within a frameset frame using JavaScript?

Javascript - Get element from within an iFrame

我會檢查你的HTML用螢火蟲來speeedup過程。

+0

謝謝你,但我不得到一個錯誤信息。好像有isn't此頁面上的任何JavaScript(它的存在,我檢查了它的顏色框) – user1124288 2012-04-09 15:22:57

+0

你有一個現場演示? – 2012-04-09 15:32:27