Получить значение из обработчика события
Имеем:
function(){ ГлобальныйМассив[0]="какое-то значение" } Так не работает. А как передать значение из обработчика событий ? |
Цитата:
|
Цитата:
Просто записать в переменную глобального массива GlobalArray[0] = "some value" Даже такой код не работает На счет пусто то я уже делал и с задержкой setTimeout("alert(GlobalArray[0])", 9000); И так не работает. Значение = undefined |
ну дак учтите что функция обработчик вешается на событе.
знак = подразумевает что результат возвращается вызвавшему,но здесь реакция на событие-так что глупо ожидать что событию вызвавшему эту функцию присвоиться значение по ретурну,а если да что с ним делать? Что значит глобальный массив? т.е вы думаете что что создастся глобальное внутри функции?-нет. может создаться свойство объекта window если если вы к нему обратитесь и его до этого не существовало. так,мысли вслух.Но наверное не предусмотрено что создаться свойство какое массив,поставил бы на то что создаться свойство какое объект,но мало вероятно-могу ошибаться во всём -тема не паханная. Все знают что при обращении к несуществующему создаться свойство... выход -создать ручками глобальный массив и обращаться к нему внутри функции |
Цитата:
GlobalArray ранее объявлен между тегами <head> <script type="text/javascript">GlobalArray = new Array();</script></head> |
Цитата:
<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> |
глобальное создаётся
var GlobalArray = new Array() всё остальное это свойство window. var a== this.a==window.a -не во всяком контексте но, var a!== this.a!==window.a -в смысле контексты разные попробуйте через контекст,через window,объявляя глобальным массивом... либо у вас гдето ошибка возникает до этого и код не обратывается. поставьте alert(1) перед записью в массив -если не сработает -значит ошибка ранее,смотрите фаирбаг или подобные инструменты отладки.... |
<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> |
У меня udefined
Ошибок в консоли ошибок нет |
ну дак это должно о многом вам сказать. смотрите ваш код либо выкладывайте тестовый-сами видите тестовый выше работает
|
Часовой пояс GMT +3, время: 16:39. |