まず第一に、私は家の仕事をしました.私はすでにGoogleを検索し、方法を使用evt.stopPropagation();
しましunbind
たが、私の問題を解決していません... .
これが私のケースです:
いくつかのリンクを含む左側のサイドバーがあると想像してください。各リンクをクリックすると、次のようなコードで中央の列が ajax によってリロードされます。
<script>
$('.leftsidebar a').on('click', function(){
var page = $(this).attr('class')
$('#middleCol').load('loader.php?page='+ page);
});
</script>
したがって、左側のバーのタグをクリックするたびに、中央の列がタグclass
.php をロードします。問題ありません。
真ん中の列にロードしているページでは、ページの最後にいくつかのjavascriptがあります。たとえばloader.php?page=test
、ページ内でロードする場合test
、いくつかの新しいjQuery行があります。例:
<script>
$('#blah').on('click', function(){
$.ajax({
type: 'POST',
url: 'server.php',
success: function(response){
//blah
}
});
});
</script>
問題は、最初に左側のバーのタグをクリックしてテストページをロードすると、正常に機能し、#blah
1つのリクエストのみをクリックするとに送信されますが、左側のサイドバーからserver.php
別のページをクリックするとa
戻ってきますをtest
クリックするblah
と、 ajax リクエストが に 2 回送信され、というserver.php
ように...、もう一度試すと、リクエストは 3 回送信されます。
このような動作を防ぐにはどうすればよいですか? 解決策は何ですか?
助けていただければ幸いです。