Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 已加载JS,但其中的函数不起作用_Javascript_Php_Jquery_Wordpress_Wordpress Theming - Fatal编程技术网

Javascript 已加载JS,但其中的函数不起作用

Javascript 已加载JS,但其中的函数不起作用,javascript,php,jquery,wordpress,wordpress-theming,Javascript,Php,Jquery,Wordpress,Wordpress Theming,我有一个名为“main.js”的js文件,我使用function.php文件中的wp_enqueue_脚本将其排队。这个文件正在我的页面-{slug}.php中加载,但是其中的函数根本没有执行 function.php文件: function df_enqueue_scripts() { wp_enqueue_script( 'main-js', get_template_directory_uri() . '/assets/src/library/js/main.js', array

我有一个名为“main.js”的js文件,我使用function.php文件中的wp_enqueue_脚本将其排队。这个文件正在我的页面-{slug}.php中加载,但是其中的函数根本没有执行

function.php文件:

function df_enqueue_scripts() {

    wp_enqueue_script( 'main-js', get_template_directory_uri() . '/assets/src/library/js/main.js', array(), '1.0', true );
    wp_enqueue_script( 'bootstrap-js', get_template_directory_uri() . '/assets/src/library/js/bootstrap.min.js', array( 'jquery' ), '5.6', true );

}

// Register the df_enqueue_scripts with wp_enqueue_scripts hook.
add_action( 'wp_enqueue_scripts', 'df_enqueue_scripts' );
<?php

get_header();
?>

<button type="button" id="ad-button">Ad</button>
<button type="button" id="mm-button">MM</button>
<button type="button" id="photo-button">Photography</button>
<div id="display-photo"></div>
<div id="display-mm"></div>
<div id="display-ad"></div>

<?php

get_footer();
page-{slug}.php文件:

function df_enqueue_scripts() {

    wp_enqueue_script( 'main-js', get_template_directory_uri() . '/assets/src/library/js/main.js', array(), '1.0', true );
    wp_enqueue_script( 'bootstrap-js', get_template_directory_uri() . '/assets/src/library/js/bootstrap.min.js', array( 'jquery' ), '5.6', true );

}

// Register the df_enqueue_scripts with wp_enqueue_scripts hook.
add_action( 'wp_enqueue_scripts', 'df_enqueue_scripts' );
<?php

get_header();
?>

<button type="button" id="ad-button">Ad</button>
<button type="button" id="mm-button">MM</button>
<button type="button" id="photo-button">Photography</button>
<div id="display-photo"></div>
<div id="display-mm"></div>
<div id="display-ad"></div>

<?php

get_footer();

公元
嗯
摄影

我认为,jQuery使用错误的问题。 可能,使用jQuery包装函数允许使用$变量 而且可以解决这个问题

jQuery(function($){
        $( '#photo-button' ).on( 'click',
            function () {
                $( '#display-photo' ).html("Hello <b>world!</b>");
            }
        );
    })

元素
#photo按钮
是否存在于代码运行点?您是否尝试过将代码包装到jQuery的document.ready处理程序中,并检查是否有任何更改?@CBroe提到的所有内容,也检查了浏览器Javascript控制台以调试可能的错误/警告?@CBroe是的,#photo按钮确实存在。并尝试将代码包装到jQuery的document.ready处理程序中。但是什么都不管用。我把版本从1.0改成了1.1,它成功了。谢谢你的解决方案。我很高兴错误得到了解决,但我不明白为什么1.0版本不起作用,1.1 workedIt与浏览器缓存有关。更改脚本版本时,浏览器将刷新脚本缓存。WordPress将ver GET参数添加到脚本URL。在更改脚本之后,应该增加脚本版本。F.e.1.1.2。2.0等等…哦…我明白了。这是缓存问题。因此,对于js脚本中的每一次更改,我还需要更改脚本的版本号。