2012-02-02 56 views
-1

我有一個元素包含來自AJAX請求的數據。 AJAX數據是從另一頁返回的。元素中返回的數據包含一個鏈接,點擊後會打開一個jQuery覆蓋。 onclick事件附加到來自外部數據的鏈接(onclick =「...」),疊加功能位於我的主頁面上。AJAX HTML響應中的鏈接點擊後丟失onclick

這一切都正常工作,直到用戶單擊打開覆蓋的鏈接。當疊加層關閉時,鏈接變爲禁用狀態,失去onclick事件,疊加層無法重新打開。

這是一個焦點問題還是我不​​知何故必須重新綁定到該鏈接的事件?我不確定這裏發生了什麼,或者如何解決這個問題,我希望有人能幫助我。

這是在該元素加載外部數據:

function load_upload_queue() { 
    $.ajax({ type : 'GET', url : myDomain, 
    dataType : 'html', 
    success : function(data) { $('#myElement').html(data); }, 
    error : function() { // do something } 
    }); 
} 

這是重要元素,它來自AJAX調用上面的內部鏈接:

<a onclick="show_error_overlay(id)">Show Errors</a> 

這是我開覆蓋功能,坐在主頁上:

function show_error_overlay(token) { 
    $("#show_error_overlay").overlay({ 
     mask: '#111111', 
     close: "a.closeOverlayBtn", 
     closeOnClick: false, 
     closeOnEsc: false, 
     load: true, 
     onLoad: function() { // do something }, 
     onClose: function() { // do something } 
    }); 
} 

任何幫助感激地收到,任何que請不要猶豫,問:) :)

回答

0

我會使用Firefox + Firebug來監視是否正在觸摸(移動,更改)任何標籤作爲覆蓋打開和關閉。看看它是否保持相同的位置;最重要的是,在疊加消失後檢查它是否仍然具有onclick值。在onLoad和onClose中檢查你的「做些什麼」,看是否有任何代碼可能對這個鏈接做了些什麼。此外,檢查JS錯誤,特別是在關閉覆蓋期間/之後 - 有時錯誤會中斷進程,使不相關的事情處於意外狀態,導致無關的問題。