加载最新版本的jQuery时出错

时间:2013-04-03 作者:William

我正在尝试设置WordPress,以便它使用最新版本的jQuery。以下是我迄今为止所做的工作:

功能。php

<?
add_action( \'wp_enqueue_scripts\', \'RegisterJQuery\' );
add_action( \'wp_enqueue_scripts\', \'EnqueueScripts\' );

function RegisterJQuery()
{
    wp_deregister_script( \'jquery\' );
wp_register_script( \'jquery\', \'//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js\', false, "1.9.1" );
wp_enqueue_script( \'jquery\' );
}

function EnqueueScripts()
{
    wp_enqueue_script(\'karate\', THEME_DIRECTORY . \'/js/karate.js\', \'jquery\');
}
所以我的“空手道”里的每一件事。js文件按预期工作(包括确认jQuery版本确实已更新的警报)。然而,我的主题(优雅的主题变色龙)在菜单上使用鼠标悬停效果来显示子菜单,这种效果不再起作用。

我怎么知道发生了什么事?我的理解是,如果某个东西与较新版本的jQuery不兼容,那么如果我升级该版本,它仍然可以工作(因为没有冲突模式)。你觉得怎么样?

威廉王子

1 个回复
SO网友:RRikesh

根据this article:

“悬停”伪事件

从1.9开始,不再支持将事件名称字符串“hover”作为“mouseenter mouseleave”的同义词。这允许应用程序附加并触发自定义“悬停”事件。更改现有代码是一个简单的查找/替换过程,jQuery迁移插件也支持“悬停”伪事件以简化迁移。

如果需要继续使用hover() 您可以使用Migrate plugin.

将功能更改为:

function RegisterJQuery()
{
    wp_deregister_script( \'jquery\' );
    wp_register_script( \'jquery\', \'//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js\', false, "1.9.1" );
    wp_enqueue_script( \'jquery\' );
    wp_register_script( \'migrate\', \'http://code.jquery.com/jquery-migrate-1.1.1.min.js\');
    wp_enqueue_script( \'migrate\' );
}

结束

相关推荐

Wp-load.php重新声明类

我试图在一个独立的PHP文件中加载WordPress选项。文件位于/wp-content/plugins/plugin-name/file.php. 我使用以下方法打开wp load。php:if (file_exists(\'../../../wp-load.php\')) { require_once (\'../../../wp-load.php\'); } 这样做会输出以下错误:致命错误:无法在/var/www/vhosts/domain.com/httpdocs