我在使用此对象初始化flexNav的自定义文件中收到“Uncaught TypeError”:
function setupFlexnav() {
// flexnav setup and options
//var isIE = false || !!document.documentMode;
//if (!isIE) {
$(".flexnav").flexNav({
'animationSpeed': 0,
'transitionOpacity': false,
'buttonSelector': '.menu-button',
'hoverIntent': true,
'hoverIntentTimeout': 100,
'calcItemWidths': false,
'hover': true
});
//}
//other custom code follows, but error is thrown on $(".flexnav").flexNav
}
//initialize flexnav
$document.ready(function () {
setupFlexnav();
});
'setupFlexNav()'方法在此文件的其他地方调用,并包含在$ document.ready(){...}中,这将阻止flexNav()被调用,直到加载jQuery。 BundleConfig在我的jquery.flexnav-custom.js脚本之前加载了jQuery-1.10.2.js,但是在这两个文件之后加载了一个jQuery-1.11.3.js文件。
我想知道是否在同一页面上加载2个版本的jQuery会导致抛出“Uncaught TypeError”,但此代码在源代码管理中已保持6个月不变。直到今天我还没有得到这个flexNav()错误,所以除了flexnav的初始化之外,其他东西必须导致错误。我只是不知道有什么。什么会导致我的代码开始抛出此错误?谢谢!
答案 0 :(得分:0)
在再次查看我的代码之后,我意识到我的脚本的顺序确实导致了问题。在jquery.flexnav-custom.js之前加载了旧版本的jQuery(1.10.2),这很好,但是在这些脚本之后加载了新版本(1.11.3)。我省略了旧文件,在flexnav脚本之前加载了较新的文件,并重建了项目。错误消失了。