我有这个代码
<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”。
你知道为什么吗 ?
最佳答案
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')" />