Javascript 触发器仅在单击时起作用,但在加载时不起作用

Javascript 触发器仅在单击时起作用,但在加载时不起作用,javascript,jquery,triggers,Javascript,Jquery,Triggers,我试图弄清楚为什么我的触发器在脚本运行时放在onClick中而不在它之外工作 我有这个函数来选择url中的复选框:exampleURL/abcfilter+checkbox1+checkbox3。刷新页面后,它应该选中这些复选框并触发更改 var hash = location.hash.slice(1).split('+'); var hashLen = hash.length; for (var arrIndex = 1; arrIndex < hashLen;

我试图弄清楚为什么我的触发器在脚本运行时放在onClick中而不在它之外工作

我有这个函数来选择url中的复选框:exampleURL/abcfilter+checkbox1+checkbox3。刷新页面后,它应该选中这些复选框并触发更改

    var hash = location.hash.slice(1).split('+');
    var hashLen = hash.length;
    for (var arrIndex = 1; arrIndex < hashLen; arrIndex++)
    {
        var hashLog = hash[arrIndex];
        $('input[type=checkbox][value="'+ hashLog +'"]').prop('checked',true);
    }
    $(".abc-filter-sidebar input[type=checkbox]").trigger("change");
如果有人告诉我我的错误,我将非常感激:

我知道了:

这很简单。我使用了onload函数:

$(window).on("load", function(){
$(".ideas-filter-sidebar input[type=checkbox]").trigger("change");});
我明白了:

这很简单。我使用了onload函数:

$(window).on("load", function(){
$(".ideas-filter-sidebar input[type=checkbox]").trigger("change");});

您可能没有等待DOM就绪。在jQuery中,这是通过使用$.ready函数来完成的,就像在$function{/*中一样,这里的内联代码只在创建了*/}元素之后运行。否则,请检查错误控制台。您可能没有等待DOM就绪。在jQuery中,这是通过使用$.ready函数来完成的,就像在$function{/*中一样,这里的内联代码只在创建了*/}元素之后运行。否则,请检查错误控制台。