我有一个自我调用的JavaScript文件,我正在尝试在onClick事件中获取moduleID。
我在这里做错了什么?还要注意的另一件事是,我将其中的几个文件作为“小部件”包括在内,它们都具有自己的moduleID。恐怕如果我要将这个变量声明移到上方,使其成为全局变量,是否会干扰也声明了moduleID变量的其他小部件?
$(function() {
// Define our vars
var moduleID = 4,
output = '';
... Some more stuff ...
});
//Listen for button click
$('[name=adminSearchGo]').click(function() {
alert(moduleID); // No Access
});
最佳答案
在函数内部定义的任何内容都不能在函数外部访问。
您可以做的是将绑定放在$(function(){...})
内,以便可以看到变量。
$(function() {
// Define our vars
var moduleID = 4,
output = '';
//Listen for button click
$('[name=adminSearchGo]').click(function() {
alert(moduleID); // No Access
});
});
另外,根据该脚本的运行位置,将
.click
绑定置于$(function(){...})
之外可能会无法正常工作,因为该元素可能尚不存在。 $(function(){...})
的全部目的是在DOM准备就绪时调用该函数。