Функция "не определена" - PullRequest
1 голос
/ 19 июня 2010

У меня есть этот код

        <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 не определена"

Ты знаешь почему?

1 Ответ

2 голосов
/ 19 июня 2010

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')" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...