$(window).width();
功能正常运行而不使用"use strict"
模式。但是,它不起作用。使用"use strict"
模式后。
这里有什么问题?
(function($) {
"use strict";
$('#menu .nav > li').on("mouseover", function() {
$screensize = $(window).width();
if ($screensize > 991) {
$(this).find('> .dropdown-menu').stop(true, true).slideDown('fast');
}
$(this).bind('mouseleave', function() {
$screensize = $(window).width();
if ($screensize > 991) {
$(this).find('> .dropdown-menu').stop(true, true).css('display', 'none');
}
});
});
})(jQuery);
答案 0 :(得分:2)
如果您使用的是严格模式,则需要确保使用$screensize
关键字声明var
,否则它会告诉您它是一个未定义的变量。这可能会停止执行您的代码
首先,严格模式使得无法意外创建全局 变量。在正常的JavaScript中错误输入赋值中的变量 在全局对象上创建一个新属性并继续“工作” (虽然未来的失败是可能的:可能,在现代JavaScript中)。 意外创建全局变量的赋值 扔严格模式
我建议您使用浏览器的控制台调试器并熟悉它。它应该抛出Uncaught ReferenceError: $screensize is not defined