2011-03-15 55 views
0

我叫窗口:窗口jQuery中

$(function(){ 
$('.link').live('click', function(){ 
    var perf = $(this).attr('id'); 
    var action = 'develop'; 
    var user_id=$('#user_id').val(); 
    var dataString = 'action='+action+'&perf='+perf+'&user='+user_id; 

    $.ajax({ 
     type: "POST", 
     url: "test.php", 
     data: dataString, 
     cache: false, 
     success: function(html){ 
      $("#work-window").append(html); 
     } 
    }); 
}); 
}); 

結果以HTML:

<div id="div-add"> 
<span id="link-close">`[close]`</div> 
</div> 

代碼關閉窗口,當你點擊鏈接(#鏈接關閉):

$('#link-close').live('click', function(){ 
    $('#div-add').css('visibility', 'hidden'); 
}); 

但這裏有錯誤。窗戶只關閉一次。當您重新打開窗戶並嘗試關閉時,這並不是很接近。爲了解決這個問題?

  • 如何在外部點擊時關閉窗口。

請幫助我:)對不起,我的英語。

回答

1

您在頁面上使用相同ID的元素的多個實例存在問題。 因此,當你執行關閉代碼的第二次:

$('#div-add').css('visibility', 'hidden'); 

它選擇了一個拳頭「#DIV加」元素,什麼也不做其他實例。

要解決這個問題,你應該從關閉的頁面中刪除'#div-add'(或者重寫你的代碼來使用類選擇器而不是id)。

$('#link-close').live('click', function(){ 
    $('#div-add').remove(); 
}); 
+0

謝謝,這是工作。 – Koiw 2011-03-15 13:24:11