我有这段代码
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("maps", "3", {other_params:"sensor=false"});
google.load("jquery", "1.3.2");
google.load("visualization", "1", {packages: ["columnchart"]});
function initialize() {
// some actions...
function mapload(myfile) {
jQuery.get("trace_" + myfile + ".xml", {}, function(data) {
// some actions...
});
}
mapload('ah');
}
google.setOnLoadCallback(initialize);
</script>
<input type="button" value="Hunt Mesa" onclick="mapload('hunt')" />
第一个“mapload”工作正常
但是onclick按钮说“mapload未定义”。
你知道为什么吗?
答案 0 :(得分:2)
mapload()
仅在initialize()
内定义。当您的onclick
处理程序尝试调用它时,它不再存在。要解决您的问题,快速而肮脏的解决方案是将所有mapload
替换为window.mapload
。所以写
window.mapload = function (myfile) {
jQuery.get("trace_" + myfile + ".xml", {}, function(data) {
// some actions...
});
}
和
<input type="button" value="Hunt Mesa" onclick="window.mapload('hunt')" />