2017-05-30 77 views
0

我有一個div,用於在有人在同一頁面上單擊縮略圖圖像時從另一個頁面加載信息。單擊div內的按鈕時div div

當前,當用戶點擊縮略圖時,頁面頂部的div#動態會加載並顯示來自其他頁面的信息。我希望能夠讓用戶點擊一個關閉按鈕,我已經給他們一個類button_close讓他們關閉div而不是點擊任何地方。該按鈕也在#dynamic div中顯示。

$(document).ready(function(){ 
    $('nav.main > a').click(function(e){ 
    e.preventDefault(); 
    $("#dynamic").load($(this).attr('href') + " .product_content",()=>{ window.scrollTo(0, 0) }).fadeIn('slow'); 
    }); 
     $(".button_close").click(function(){ 
      $(".product_container").html (''); 
     }); 
    }); 
+0

添加e.stopPropagation()到 '.button_close' 單擊處理程序 –

+0

「*當人在DIV內的任何地方點擊時,div將關閉*」什麼div?請參閱[MCVE] – Pete

+0

@Pete感謝您的反饋。我希望有更明確的表述。 – Cabon

回答

1

由於正在動態生成的close_button,您可以使用以下

$('body').on('click', '.button_close', function(){ 
    $('#dynamic').html(''); 
}); 

一個簡單的例子

<!DOCTYPE html> 
<html> 
<body> 

<script src="http://code.jquery.com/jquery-latest.js"></script> 

<script> 
function loadDiv() { 
    $('#dynamic').html('<p>Some content loaded from another page</p><div class="button_close">Close Me</div>'); 
} 

$('body').on('click', '.button_close', function(){ 
    $('#dynamic').html(''); 
}); 
</script> 

<div id="dynamic"></div><br><br> 
<button onclick="loadDiv()">Load Div</button> 

</body> 
</html>