在wordpress子主题中使用$而不是jQuery

时间:2013-10-31 12:58:27

标签: jquery wordpress themes

$我正在使用Twenty Thirteen主题的儿童主题构建一个wordpress(v.3.6)网站。 我的主题的header.php有

<body <?php body_class(); ?> onResize="resizeHandler();">

这是主题的.js文件,myChildTheme.js:

var myStuff;
function resizeHandler() {
    myStuff = jQuery(".stuff");
    console.log("resized, and here's stuff: "+ myStuff);
}

为了使用$而不是“jQuery”,我尝试了我在网上找到的解决方案。新的myChildTheme.js:

jQuery(document).ready(function($) {
    var myStuff;
    function resizeHandler() {
        myStuff = $(".stuff");
        console.log("resized, and here's stuff: "+ myStuff);
    }
});

但是我得到一个控制台引用错误,说没有定义resizeHandler。

我已经按照我认为正确的方式排队并注册了主题的剧本和风格。

的functions.php:

function myChildTheme_scripts_styles() {
    wp_enqueue_style( 'myChildTheme-fonts', myChildTheme_fonts_url(), array(), null );
}
add_action( 'wp_enqueue_scripts', 'myChildTheme_scripts_styles' );

function myChildTheme_scripts() {
    wp_enqueue_script('myChildTheme_functions', get_stylesheet_directory_uri().'/js/myChildTheme.js', array('jquery'), '', true);
    wp_enqueue_script('isotope_source', get_stylesheet_directory_uri().'/js/jquery.isotope.min.js', array('jquery'), '', true);
}
add_action( 'wp_enqueue_scripts', 'myChildTheme_scripts' );

有关如何让$上班的任何提示?感谢。

1 个答案:

答案 0 :(得分:2)

您需要通过jQuery本身附加resize事件。试试这个:

<body <?php body_class(); ?>>
jQuery(document).ready(function($) {
    var myStuff;
    function resizeHandler() {
        myStuff = $(".stuff"); // note $ use here
        console.log("resized, and here's stuff: "+ myStuff);
    }

    $(window).resize(resizeHandler);
});

FYI您的控制台将输出resized, and here's stuff: [Object object] - 这是正常的。