Как объявить и использовать имя функции из объекта json? - PullRequest
2 голосов
/ 20 апреля 2010

У меня есть коллекция географических местоположений json, которую я строю на сервере. Каждый из этих объектов имеет два свойства: «маркер» и «onClick».

Маркер предназначен для хранения объекта маркера Google Maps, а onClick хранит имя функции, вызываемой при нажатии на этот маркер на карте.

Когда я помещаю объекты местоположения в массив с помощью JavaScript на стороне клиента, я создаю маркеры и назначаю их каждому объекту местоположения в массиве.

Моя проблема в том, что, когда я связываю маркер с помощью свойства onClick, функция не будет найдена в DOM и выдает ошибку.

Есть ли способ объявить свойство в объекте json для использования его в привязке события?

Надеюсь, я мог бы объяснить это ясно, если нет, пожалуйста, дайте мне знать.

Спасибо!

1 Ответ

4 голосов
/ 20 апреля 2010

Если у вас есть функция, объявленная в глобальном объекте, например,

function foobar() { alert('foobar') }

Тогда вы можете получить ссылку на него через нижнюю запись:

var funcname = 'foobar';
var func = window[funcname];
func();   // alerts

Если функция является частью какого-либо другого объекта, просто используйте имя в качестве нижнего индекса этого объекта:

var func = some_obj[funcname];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...