本文介绍了函数“未定义”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这段代码
< script type =text / javascriptsrc =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]});
函数initialize(){
//一些动作...
函数mapload(myfile){
jQuery.get trace_+ myfile +.xml,{},函数(data){
//一些动作...
});
}
mapload('ah');
}
google.setOnLoadCallback(initialize);
< / script>
< input type =buttonvalue =Hunt Mesaonclick =mapload('hunt')/>
第一个mapload正常工作
但是onclick按钮会显示mapload没有定义。
你知道为什么么?
解决方案
mapload()仅在 initialize()中定义。当 onclick 处理程序尝试调用它时,它不再存在。为了解决你的问题,一个快速和肮脏的解决方案是用 window.mapload 替换所有出现的 mapload 。所以写
window.mapload = function(myfile){
jQuery.get(trace_+ myfile + .xml,{},函数(data){
//一些动作...
});
}
和
< input type =buttonvalue =Hunt Mesaonclick =window.mapload('hunt')/>
I have this code
<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')" />
The first "mapload" works fine
But the onclick button say "mapload is not defined".
Do you know why ?
解决方案
mapload() is only defined within initialize(). When your onclick handler tries to call it, it doesn't exist any more. To solve your problem, a quick&dirty solution is to replace all occurrences of mapload with window.mapload. So write
window.mapload = function (myfile) { jQuery.get("trace_" + myfile + ".xml", {}, function(data) { // some actions... }); }
and
<input type="button" value="Hunt Mesa" onclick="window.mapload('hunt')" />
这篇关于函数“未定义”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
06-28 20:19