Javascript 已加载JS,但其中的函数不起作用
我有一个名为“main.js”的js文件,我使用function.php文件中的wp_enqueue_脚本将其排队。这个文件正在我的页面-{slug}.php中加载,但是其中的函数根本没有执行 function.php文件: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
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脚本中的每一次更改,我还需要更改脚本的版本号。