这个jQuery函数在静态html页面上工作得很好,但在wordPress上就不行了。

时间:2012-04-27 作者:Ronny K

我正在使用wp\\u enqueue\\u脚本来执行此操作。如果我尝试做其他事情,比如弹出一个对话框,它会工作,但下面的代码不会。谁能告诉我这个问题吗。谢谢

var $j = jQuery.noConflict();
    $j(\'#mystuff\').hide();
    var mouseLastYPos = null;
    $j(document).mousemove(function(e){ 
        if(mouseLastYPos){ 
            if (e.pageY < mouseLastYPos && e.pageY <= 2){

               $j(\'#mystuff\').show();

            }
        }
        mouseLastYPos = e.pageY;
    });​
下面是静态页面上此代码的工作演示。将鼠标移到页面顶部时,会显示一些文本。http://jsfiddle.net/bmHbt/

1 个回复
最合适的回答,由SO网友:Tribalpixel 整理而成

WordPress附带的jQuery库以“无冲突”模式加载。这是为了防止与WordPress可以加载的其他javascript库的兼容性问题。

为了使用默认的jQuery快捷方式$,可以在代码周围使用以下包装:

jQuery(document).ready(function($) {
    // $() will work as an alias for jQuery() inside of this function
});
该包装器将在页面加载完成时执行代码,并且$将用于调用jQuery。如果出于某种原因,希望立即执行代码(而不是等待DOM就绪事件),则可以使用此包装器方法:

(function($) {
    // $() will work as an alias for jQuery() inside of this function
})(jQuery);

结束