为什么文件js被调用两次

why file js is called two times

我有这个按钮:

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

    });
}());

为什么当我点击按钮时我显示打印 "hi" 两次而不是一次?谁能帮帮我?

很可能此操作 "action:ajaxify.end" 被多次调用。当您将事件附加到正文时,不需要其他条件,因为该事件将响应与 id "topic_schedulati" 匹配的任何添加元素,请记住,您应该只有 1 个具有该 id 的元素否则您的行为会因浏览器而异。

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