我试图在用户点击imgIcon时切换toggleTutorial函数,但是,我甚至无法触发该函数。 我需要我的showTutorial变量是gloabal变量,但似乎getScript函数下的语句不会触发。这里的任何人都可以帮助我吗?
由于
$(function() {
var spreadsheet = ''
var showTutorial = true;
$('.helpImgIcon').click(function() {
$.getScript('inc/tutorial.js', function() {
if (showTutorial) {
toggleTutorial(showTutorial);
}
});
showTutorial = false;
return false;
});
$('body').click(function() {
$('.js-tutorialTooltips').remove();
$('.helpImg').remove();
showTutorial = true;
})
})
答案 0 :(得分:6)
$.getScript
是异步的,因此showTutorial
在遇到回调时会为false。
尝试将其更改为:
$('.helpImgIcon').click(function() {
$.getScript('inc/tutorial.js', function() {
if (showTutorial) {
toggleTutorial(showTutorial);
showTutorial = false;
}
});
return false;
});
答案 1 :(得分:0)
感谢DOM,JavaScript可能会遇到一些可怕的命名空间问题。我几乎总是命名我的变量,即
window.namespace = {}; //Object Literal for namespace
window.namespace.showTutorial = true;