为什么jQuery不使用$,我如何才能(在全球范围内)使用它?

时间:2015-11-14 作者:Eric

我有一个包含jQuery的WordPress主题,但由于某种原因,“$”不允许我调用jQuery。我知道我会包装jQuery calls in an anonymous function, 但我有其他依赖$working的插件,我不想修改它们的代码。

因此,我需要一种方法使“$”在全球范围内适用于jQuery,适用于我站点中的所有JS。

我的主题使用以下内容添加jQuery(在functions.php中):

function ss_scripts() {
    wp_enqueue_script(\'jquery\');
    wp_enqueue_script(\'jquery-ui-core\');
    wp_enqueue_style( \'ss-style\', get_stylesheet_uri() );
}
add_action( \'wp_enqueue_scripts\', \'ss_scripts\' );
所以有两个问题:

以这种方式添加脚本时,为什么jQuery不默认为“$”

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

以这种方式添加脚本时,为什么jQuery不默认为“$”?

这个$ alias已被多个不同的库选择为alias。如果尝试使用多个库,则会导致冲突。事实上,这有点可笑——就像几家大公司都决定使用同一个电话号码一样。

如何使$在整个网站上全局使用jQuery?

WordPress在中加载jQuerynoConflict mode 避免上述愚蠢的别名所造成的问题。你不应该再次提出这些问题。

SO网友:Milo

使用$ 作为对象引用,您需要在包含jQuery之后和使用$:

var $ = jQuery.noConflict();
使用风险自负,可能与其他代码冲突。

从技术上讲,任何依赖于$ 写入错误。

SO网友:Kvvaradha

使用“jQuery”代替$。我不确定你的WordPress版本。对于jQuery的更新。1.9。最好使用jQuery而不是$。