AS3 navigateToURL ();функция javascript не срабатывает при использовании jQuery - PullRequest
0 голосов
/ 07 июля 2011

У меня есть проблема, которую я не могу решить. Я использую AS3 navigateToURL (); Функция для вызова простой функции JavaScript. На данный момент он просто предупреждает первый параметр. Проблема в том, что когда эта функция находится внутри блока $ (document) .ready (function () {..}), она не срабатывает. Пример моего кода:

<script type="text/javascript">
  $(document).ready(function(){
    function mapLink(aVar){
      alert(aVar);
    };
  });
</script>

Пример простого вызова функции AS3:

navigateToURL(new URLRequest('Javascript: mapLink("'+mapObject.tooltipMoreLink+'");'), '_self');

Когда функция находится вне кода jquery, она работает нормально. Почему он должен быть внутри кода jquery, который вы, возможно, спрашиваете? Мне нужны селекторы jQuery DOM для манипулирования некоторыми элементами dom, основанными на значении «aVar» в моей функции javascript.

Любое руководство приветствуется с открытым разумом.

Ответы [ 2 ]

2 голосов
/ 07 июля 2011

а. для этого был разработан класс ExternalInterface .

Ваша проблема связана с областью применения. Ваша функция ограничена объектом jquery, а не глобально, поэтому она невидима для вашего вызова. Если вам нужны селекторы jquery, вы можете легко установить flash var независимо от процедуры jquery.

обновление

возможно я что-то упускаю, но разве это не должно быть так просто, как:

function externalCall(param){

     $(domElement).doSomething(param);

}

Не думаю, что это нужно связывать с функцией jq ready. Я имею в виду, что если флэш-память уже загружена, а пользователь взаимодействует, то , конечно, событие готовности давно сработало.

Надеюсь, это поможет. Я не уверен, что точно следую тому, что вы пытаетесь сделать;)

... Кстати, я бы действительно посмотрел в ExternalInterface, NavToURL может работать, но вы можете вызвать свой js напрямую с помощью предыдущего метода.

2 голосов
/ 07 июля 2011

Это не будет работать, потому что вы создали функцию внутри DOMReady Event
, то есть $(document).ready, и вызываете ее вне области действия функции.

Вы можете получить доступ к селекторам jQuery DOMоткуда угодно, если на вашей странице есть ссылка на jQuery.js.

Пример

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>
<script type="text/javascript">
    function mapLink(aVar){
      alert(aVar);
    }
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...