繁体   English   中英

WordPress:JS 已加载,但其中的功能不起作用

[英]WordPress: JS is loaded but functions in it are not working

我有一个名为“main.js”的 js 文件,我在 function.php 文件中使用 wp_enqueue_script 将其排入队列。 该文件正在我的页面中加载-{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' );

页-{slug}.php 文件:

<?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();

main.js 文件:

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

简而言之,我在 main.js 文件中写了任何东西,我期望的更改不会发生或不会反映在我的页面-{slug}.php 文件中。

我认为, jQuery错误用法的问题。 可能,用 jQuery 包装function允许使用$变量并可以解决问题

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

第二件事是将jQuery设置为脚本的依赖项并将脚本版本更新为1.1

wp_enqueue_script( 'main-js', get_template_directory_uri() . '/assets/src/library/js/main.js', array( 'jquery' ), '1.1', true );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM