2016-09-14 8 views
1

私は、このボタンを持っていると呼ばれる理由:これはクリックを処理するために、私のjqueryのコードであるファイルのjsが2回

<button type="button" id="topic_schedulati" class="btn btn-info">Mostra Topics Schedulati</button> 

を:

(function() { 
    $(window).on('action:ajaxify.end', function(event, data) { 

     if (new RegExp(/^category\/[0-9]+/).test(data.url)) { 
      $(document).ready(function(){ 
      $('body').on('click', '#topic_schedulati', function() { 
       console.log("hi"); 
      }); 
     }); 
     } 

    }); 
}()); 

私はボタンをクリックしたとき、私は印刷を示してなぜ"こんにちは" 2回ではなく1回ですか?誰でも私を助けることができますか?

+1

そのコードが実行されるたび、あなたはクリックバインド....イベントでの結合事象は悪い考え – epascarello

答えて

1

"action:ajaxify.end"というアクションが複数回呼び出されている可能性があります。あなたはあなたの他の条件の必要はありませんあなたの他の条件のためのイベントを添付しているので、イベントはid "topic_schedulati"に一致する追加された要素に応答するので、あなたはそのidまたは1ブラウザによっては不安定な動作をします。

$(function() { 
    $('body').on('click', '#topic_schedulati', function() { 
      console.log("hi"); 
    }); 
}); 
+0

はい、それは動作します...おかげで –

関連する問題