javascript - $ 不适用于新网站中的 jQuery

标签 javascript jquery joomla

我已经使用 jQuery 好几年了,在我工作的任何站点中包含 jQuery 脚本后,我总是使用 $ 来表示 jQuery 对象。例如:

$('#my_selector').click(function(){...

几年前我用 Joomla 1.6 建立了一个网站,有 200 多个页面,几乎所有页面都使用了 jQuery,所有页面都带有 $。现在我正在用 Joomla 3.3.0 重建网站。有趣的是,现在有时 $ 在识别 jQuery 对象时不起作用,但当我使用 jQuery 时它起作用了。例如。上面的代码示例必须更改为:

jQuery('#my_selector').click(function(){...

那行得通。最后最奇怪的是,在一个页面上,$ 似乎适用于某些 jQuery 但不是全部。我看到的错误是这个:

TypeError: undefined is not a function

似乎问题主要出现在加载完成 情况下运行的函数上。不管怎样,我只是想知道外面的人是否知道为什么 $ 会停止识别 jQuery 函数和对象。

谢谢!

最佳答案

您很可能正在使用一个冲突的库,这意味着:另一个声明(并因此覆盖)变量 $ 的脚本/库。将所有代码包装在一个闭包中,这样就可以了:

(function($) {
    $('#my_selector').doStuff();
})(jQuery)

或者,如果需要在文档准备好后执行:

jQuery(document).ready(function($) {
    $('#my_selector').doStuff();
});

关于javascript - $ 不适用于新网站中的 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24386538/

相关文章:

javascript - 将 JS var 传递到选择器不起作用

Joomla 日历自定义

php - 在网页中打开网页

javascript - 动态插入的包含文本的 div 的宽度

javascript - 动态 FLOT 图例表

javascript - 使用javascript触发gmail收件箱刷新

javascript - Object.keys() 返回在 Ant Design 表列渲染中不起作用

jquery - 网站导航 - 向下滑动页面内容 - 类似于示例站点 'pavilionvenue.co.uk' 但水平

javascript - 替代使用 eval()

html - Virtuemart 电子邮件的布局已损坏,没有样式 - 标题中的 css 不起作用