Как я могу удалить addCallback?

У меня есть Flash-игра, которая отправляет и получает много сообщений от JavaScript. Иногда мне нужно остановить прослушивание некоторых из этих функций, но ExternalInterface не имеет функции removeCallback. Так что я делаю что-то уродливое: использую логическое значение для проверки, доступен ли обратный вызов в каждой функции.

Есть лучшее решение?

ExternalInterface.addCallback("callAlert", callAlert);
function callAlert(msg:String){
   if(callAlertAvailable){
      //...
   }
}

1 ответ

Решение

Просто снова вызовите addCallback, установив функцию как null:

ExternalInterface.addCallback("callAlert", null);

Почему бы не прочитать документы? Я нашел это здесь:
ExternalInterface.addCallback()

Примечание. Повторение addCallback() для существующей функции обратного вызова с нулевым значением закрытия удаляет обратный вызов.

Другие вопросы по тегам