2016-09-14 89 views
1

我有这个按钮:为什么文件JS调用两次

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

这是我的jQuery代码来处理点击:

(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"); 
      }); 
     }); 
     } 

    }); 
}()); 

为什么当我按一下按钮我显示打印“嗨”两次而不是一次?任何人都可以帮助我?

+1

每当代码运行,你绑定点击....事件中的绑定事件是一个坏主意 – epascarello

回答

1

很可能这个动作“action:ajaxify.end”被多次调用。当你将事件附加到身体时,不需要其他条件,因为事件将响应任何与ID“topic_schedulati”相匹配的添加元素,请记住,您应该只有1个元素具有该ID或您取决于浏览器会有不稳定的行为。

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

是的,它的作品...谢谢 –

相关问题