jQuery noConflict,或者什么
jQuery noConflict, or what?
我是一名学生,在代码开发领域没有太多背景知识。我只是运行了我的网站,想把jetmenu放在我的模板下(就这样!)。
这是飞机菜单
http://codecanyon.net/item/jet-responsive-megamenu/5719593
但一旦我把它放在模板下,它就只能在父菜单上工作,而子菜单本身根本不起作用。我试着打开firebug,它说"!@#@!@#不是一个函数"
浏览网页,发现问题。也就是说,该模板使用不同版本的jQuery的2个库。试图在noConflict中实现一些技术技巧,但总是运气不佳。
这是代码。
<meta http-equiv="X-UA-Compatible" content="IE=8" />
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
<script>
sQuery = jQuery.noConflict(true);
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script>
jQuery(document).ready(function() {
jQuery().jetmenu();
});
</script>
<script src="{$baseurl}/js/jetmenu.js"></script>
<script src="{$baseurl}/js/jquery.customSelect.js"></script>
我最初认为我可以像"xxQuery=jQuery.noConflict(true)"这样引用,但如果它需要使用库编辑整个jQuery代码(用xxjQuery替换$)将浪费时间。
我想你可以这样做:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
<script>
var jq191 = jQuery.noConflict(true);
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script>
var jq132 = jQuery.noConflict(true);
</script>
<script>
jq191(document).ready(function() {
// use the newer version to load the script
jq191.getScript( "{$baseurl}/js/jetmenu.js" )
.done(function( script, textStatus ) {
console.log( textStatus );
// locally override the $() to use the older version of jQuery
var $ = jq132;
// Use the loaded script
$.jetmenu();
})
.fail(function( jqxhr, settings, exception ) {
console.error( "Triggered ajaxError handler." );
});
// use the newer one from now on
$ = jq191;
}); // ready
</script>
此外,您可能会发现这些解决方案很有用:我可以在同一页面上使用多个版本的jQuery吗?
相关文章:
- javascript或缓存错误?或者其他什么
- 闭包中的本地变量从外部更改.这是一个javascript错误,或者我做错了什么
- jQuery noConflict,或者什么
- Javascript Date.getTime 函数没有返回正确的值,或者我做错了什么
- 什么's在Android中更快:使用loadUrl将数据发送到WebView,或者使用JavascriptInt
- 在JavaScript中,换行符实际上并不是在创建新行,有没有其他选择,或者我做错了什么
- javascript+jquery检查元素是否存在,然后设置其值,或者其他什么
- 我是否错误地使用了eq(…)?或者这里出了什么问题
- 如何访问变量而不是重新声明它?或者还有什么替代方法
- 这真的是异步的吗?或者它发生得太快了,没有什么区别
- 如何知道什么时候所有的承诺都被拒绝了,或者用基本的js承诺解决了
- localStorage返回NaN(而不是Number,或者什么都没有)
- 恶意js ?或者是什么
- Eslint抱怨'new'或者未使用的变量,正确的方法是什么?
- 什么是用来混淆这个Javascript的,或者我如何去模糊它
- 在HTML中使用自定义标记的含义是什么,或者不使用自定义标记有什么优点
- <noscript>或者其他什么
- 使用""有什么区别吗?或者不是javascript对象中的属性
- Nodejs需要严格使用'或者node严格模式的最佳实践是什么
- 什么是字符串,或者它是从哪里来的