Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.06.2012, 20:25
Аспирант
Отправить личное сообщение для mirek Посмотреть профиль Найти все сообщения от mirek
 
Регистрация: 21.05.2012
Сообщений: 49

Получить значение из обработчика события
Имеем:
function(){
ГлобальныйМассив[0]="какое-то значение"
}

Так не работает.

А как передать значение из обработчика событий ?
Ответить с цитированием
  #2 (permalink)  
Старый 08.06.2012, 20:32
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от mirek
function(){ГлобальныйМассив[0]="какое-то значение"}
Хм - приведите пример, и Вы учтите - что считывать переменную нужно тоже по событию, или по заведомо превышаюшему таймеру, - поскольку: Вы можете читать - а там пусто, посколь обращения к обработчику еще не было
Ответить с цитированием
  #3 (permalink)  
Старый 08.06.2012, 20:36
Аспирант
Отправить личное сообщение для mirek Посмотреть профиль Найти все сообщения от mirek
 
Регистрация: 21.05.2012
Сообщений: 49

Сообщение от Deff
Хм - приведите пример
Ну вот я его привел. Можно перевести латинскими буквами разве что
Просто записать в переменную глобального массива GlobalArray[0] = "some value"

Даже такой код не работает

На счет пусто то я уже делал и с задержкой setTimeout("alert(GlobalArray[0])", 9000);

И так не работает. Значение = undefined

Последний раз редактировалось mirek, 08.06.2012 в 20:38.
Ответить с цитированием
  #4 (permalink)  
Старый 08.06.2012, 20:41
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

ну дак учтите что функция обработчик вешается на событе.
знак = подразумевает что результат возвращается вызвавшему,но здесь реакция на событие-так что глупо ожидать что событию вызвавшему эту функцию присвоиться значение по ретурну,а если да что с ним делать? Что значит глобальный массив?
т.е вы думаете что что создастся глобальное внутри функции?-нет. может создаться свойство объекта window если если вы к нему обратитесь и его до этого не существовало. так,мысли вслух.Но наверное не предусмотрено что создаться свойство какое массив,поставил бы на то что создаться свойство какое объект,но мало вероятно-могу ошибаться во всём -тема не паханная. Все знают что при обращении к несуществующему создаться свойство...
выход -создать ручками глобальный массив и обращаться к нему внутри функции

Последний раз редактировалось dmitriymar, 08.06.2012 в 20:44.
Ответить с цитированием
  #5 (permalink)  
Старый 08.06.2012, 20:47
Аспирант
Отправить личное сообщение для mirek Посмотреть профиль Найти все сообщения от mirek
 
Регистрация: 21.05.2012
Сообщений: 49

Сообщение от dmitriymar
выход -создать глобальный массив и обращаться к нему внутри функции
Ну вот в моем примере так и есть

GlobalArray ранее объявлен между тегами <head> <script type="text/javascript">GlobalArray = new Array();</script></head>
Ответить с цитированием
  #6 (permalink)  
Старый 08.06.2012, 20:52
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от mirek
Ну вот я его привел.
<span   onclick="ClickFunc(); return false;">Клик функция</span>
<script type="text/javascript">
var Glob_arr=new Array,index=0;
function ClickFunc(){
 Glob_arr.push(index);
 index++;
 alert(Glob_arr);
}
</script>

Последний раз редактировалось Deff, 08.06.2012 в 20:55.
Ответить с цитированием
  #7 (permalink)  
Старый 08.06.2012, 20:57
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

глобальное создаётся
var GlobalArray = new Array()

всё остальное это свойство window.
var a== this.a==window.a -не во всяком контексте
но, var a!== this.a!==window.a -в смысле контексты разные
попробуйте через контекст,через window,объявляя глобальным массивом... либо у вас гдето ошибка возникает до этого и код не обратывается. поставьте alert(1) перед записью в массив -если не сработает -значит ошибка ранее,смотрите фаирбаг или подобные инструменты отладки....

Последний раз редактировалось dmitriymar, 08.06.2012 в 21:17.
Ответить с цитированием
  #8 (permalink)  
Старый 08.06.2012, 21:11
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

<span   onclick="ClickFunc(); return false;">Клик функция</span>
<script type="text/javascript">
var Glob_arr=new Array();
var index=-10;
function ClickFunc(){
 Glob_arr.push(index);
 index++;
alert(Glob_arr[0])
 alert(index);
 alert(this.index)
alert(window.index)
alert(this.index===index)
alert(window.index==index)
alert(this.index===window.index)
}
</script>

Последний раз редактировалось dmitriymar, 08.06.2012 в 21:14.
Ответить с цитированием
  #9 (permalink)  
Старый 08.06.2012, 21:23
Аспирант
Отправить личное сообщение для mirek Посмотреть профиль Найти все сообщения от mirek
 
Регистрация: 21.05.2012
Сообщений: 49

У меня udefined

Ошибок в консоли ошибок нет
Ответить с цитированием
  #10 (permalink)  
Старый 08.06.2012, 21:29
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

ну дак это должно о многом вам сказать. смотрите ваш код либо выкладывайте тестовый-сами видите тестовый выше работает
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
получить значение по клику gudzik Общие вопросы Javascript 6 11.12.2012 18:22
Как получить значение переменной из callback функции? Хиросим AJAX и COMET 5 24.04.2012 09:32
Получить значение FLOAT evgen6667 Общие вопросы Javascript 6 17.04.2012 18:26
Не могу получить значение атрибута DenQ jQuery 9 06.02.2011 14:33
Как получить значение аттрибута вложенного тэга по id losk Events/DOM/Window 4 21.11.2009 10:08