“对象不支持此属性或方法”显示 jQuery.noconflict()

发布于 2024-12-04 14:39:33 字数 460 浏览 0 评论 0原文

我的 jsp 以相同的顺序加载 Mootools、Jquery,然后加载我的 Javascript 文件。 在 IE8 中,第一次加载时,它会抛出错误“对象不支持此属性或方法”,并且 JS 根本不起作用。

我在 JSP 中加载文件为:

new Asset.javascript('/js/jquery-1.6.4.min.js', {id: 'jQuery'});
new Asset.javascript('/js/MyScript.js', {id: 'CWScript'});

MyScript.js 看起来为:

jQuery.noConflict();
jQuery(document).ready(function(){ 
... 

它在 FF、IE6、Chrome 和 Safari 中工作正常,但在 IE8 中的第 1 行字符 1 处中断

My jsp loads Mootools, Jquery and then my Javascript file in the same order.
In IE8, on first load, it throws error "Object doesn't support this property or method" and the JS doesn't work at all.

I load the files in JSP as:

new Asset.javascript('/js/jquery-1.6.4.min.js', {id: 'jQuery'});
new Asset.javascript('/js/MyScript.js', {id: 'CWScript'});

The MyScript.js looks as:

jQuery.noConflict();
jQuery(document).ready(function(){ 
... 

It works fine in FF, IE6, Chrome and Safari but breaks at Line 1 Char 1 in IE8

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别理我 2024-12-11 14:39:33

我不了解 Mootools,但对我来说,它看起来像是简单的竞争条件(假设资产是异步加载的,并且没有任何指定的顺序执行)。尝试在 jQuery 加载资源的 onLoad 回调中加载 MyScript.js

并且,请记住 - 如果您使用的是 jQuery.noConfilct 我强烈建议使用它:

jQuery(document).ready(function($){
    //here you have local to jQuery under $ variable
});

I don't know Mootools, but for me it looks like simple race condition (assuming that Assets are loaded asynchronously and executed without any specified order). Try to load MyScript.js in onLoad callback of jQuery loading Asset.

And, keep in mind - if you are using jQuery.noConfilct I strongly suggest to use this:

jQuery(document).ready(function($){
    //here you have local to jQuery under $ variable
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文