Получить значение из обработчика события
Имеем:
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, время: 05:28. |