首页 > 解决方案 > svg 脚本仅在刷新后触发

问题描述

我在这个用 CSS 和 JavaScript 定制的wordpress 页面上有两个可点击的 svg 文件。第一个 svg(大小:447kb)加载没有问题,单击时脚本会触发。第二个 svg 加载时间更长(大小:993kb),.onclick 仅在页面刷新时才有效。(控制台说:未捕获的类型错误:无法设置属性 'onclick' of null)

经过大量研究,我怀疑这是一个 Ajax 问题。没有停用 Ajax 的选项,所以我尝试了以下函数将脚本放入页脚:

function load_js_assets() {
    if( is_page(#) ) {
        wp_register_script('script', 'url/script.js', array( 'jquery' ), '0', false);
        wp_enqueue_script('script');
    } 
}

add_action('wp_enqueue_scripts', 'load_js_assets', 99999);

这没有做任何事情。

在 script.js 中,我尝试了 window.onload, window.addEventListener("load", function(){}, document.load, document.addEventListener("DOMContentLoaded",...) 没有任何效果。

目前我的脚本是这样的:

window.addEventListener("load", function(){

(function() {
/*function for svg1*/
}; 
})();

(function(){
/*function for svg2*/
};
})();

});

请问我这里还有其他选择吗?(请原谅我的非 DRY 编码方式,我还是菜鸟)

标签: javascriptwordpresssvg

解决方案


尝试使用此方法应用 onclick 处理程序 -

$(document.body).on('click', '.update' ,function(){

推荐阅读