2016-11-08 9 views
0

私のプロジェクトでは、mysqlクエリの結果を受け取り、コメントDIVとそれを別のページを介してページをスクロールするとより多くの結果を得るjqueryコードに入れますコード2つの異なるPHPページのjavascriptコードを適用

<body> 
<div id="container"> 
<div class="comment"> 
    <div id="comm"> 
    </div> 
</div> 
</div> 
<script type="text/javascript"> 

$(document).ready(function(){ 

var offset = $('.comment:last').offset(); 

$(window).scroll(function(){ 
    if((offset.top-$(window).height() <= $(window).scrollTop()) 
    && load==false && ($('.comment').size()>=5) && 
    ($('.comment').size()!=$('.nb_com').text())){ 

     var theme = $('.comment').attr('idtheme'); 
      $.ajax({ 
      url: 'ajax_scroll.php', 
      type: 'get', 
      data: 'theme='+theme, 

      success: function(data) { 

       $('.comment:last').after(data); 
       offset = $('.comment:last').offset(); 

      } 
     }); 
    } 


}); 

}); 

</script> 

私は私のコメントDIVのための下、このJavaScriptを適用したいと思いますが、私は、私はすべてのために、このjavascripコードを適用することができますどのようにページ

$('#confirmdelete a').click(function(){ 

var id_comm=$(this).attr('id'); 
if(confirm("Delete?")) { 
$.ajax({ 
    url: 'commentsdelete.php', 
    type: 'post', 
    async: false, 
    data:{ 
    'id_comm': id_comm 

    }, 
    success:function(){ 

    } 

    }); 
} 
else 
{ 
    }  

return false; 
}); 

を下にスクロールする前に、それはDIVSのみで動作しますDIV(スクロール前およびスクロール前)

ありがとうございました。

+0

イベントリスナーをコンテナエレメントに適用し、伝播チェーンに戻ったり、エレメントを追加するたびにeventlistenerを再割り当てするよりも、 –

+0

助けてくれたJonasに感謝します。私はjqueryの専門家ではありません。どうやってやるの? – simo9900

答えて

1

解決方法1:

var onclickfunc=function(){ 
alert("clicked"); 
} 
$('#confirmdelete a').click(onclickfunc); 

//later in your ajax 
sucess:function(data){ 
//add the content 
//reassign: 
    $('#confirmdelete a').click(onclickfunc); 
} 

ソリューション2(より良い):コンテンツを再割り当て変更された場合

は、グローバルスコープにあなたのクリック機能を追加

が検出された場合は、親要素がクリックされたかどうかを確認し、それが確認削除要素であるかどうかを確認します。

$(document).on("click","#confirmdelete a",function(){ 
//yourcode here 
}); 

参照:http://api.jquery.com/on/

+0

ご協力ありがとうございます。 2番目の解決策ははるかに簡単です。 – simo9900

関連する問題