Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.07.2013, 17:02
Новичок на форуме
Отправить личное сообщение для gyus Посмотреть профиль Найти все сообщения от gyus
 
Регистрация: 16.07.2013
Сообщений: 3

Глобальная переменная
Здравствуйте!
Прошу помочь:

При запуске нижеприведенного кода изменения глобальной переменной а в функции fst() не "видны" в функции scd(). Т.е. кликая на "Первое слово", а затем на "Второе слово" получаенм алерты с разными значениями переменной а. Как такое может быть?

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Тест</title>
</head>
<script language="javascript">
var a=1;
function scd()
{
alert('Второе значение равно '+a);
}
function fst()
{
a++;
alert('Первое значение равно '+a);
}
</script>
<body>
<span contenteditable="true" onblur="fst();" >Первое слово</span>
<br>
<span onmousedown="scd();" >Второе слово</span>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 16.07.2013, 17:06
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

все правильно:
сначала увеличили на единицу
потом вывели
потом еще раз вывели
Ответить с цитированием
  #3 (permalink)  
Старый 16.07.2013, 17:10
Новичок на форуме
Отправить личное сообщение для gyus Посмотреть профиль Найти все сообщения от gyus
 
Регистрация: 16.07.2013
Сообщений: 3

Сообщение от skrudjmakdak Посмотреть сообщение
все правильно:
сначала увеличили на единицу
потом вывели
потом еще раз вывели
не понимаю.
а=а+1
выводим а=2
теперь еще раз выводим ту же переменную...
и видим a равное 1
Ответить с цитированием
  #4 (permalink)  
Старый 16.07.2013, 17:26
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

ааа вон как..
видимо сначала срабатывает событие onmousedown, а потом onblur
Ответить с цитированием
  #5 (permalink)  
Старый 16.07.2013, 17:30
Новичок на форуме
Отправить личное сообщение для gyus Посмотреть профиль Найти все сообщения от gyus
 
Регистрация: 16.07.2013
Сообщений: 3

Сообщение от skrudjmakdak Посмотреть сообщение
ааа вон как..
видимо сначала срабатывает событие onmousedown, а потом onblur
нет. очередность событий как-будто правильная. сначала onblur, потом onmousedown. Это видно по очередности появления алертов.
Ответить с цитированием
  #6 (permalink)  
Старый 16.07.2013, 17:34
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

в консоль сначала упадет onmousedown, а потом blur
<html>
	<script language="javascript">
	function scd()
		{
		console.log('onmousedown');
		}
	function fst()
		{
		console.log('blur');
		}
	</script>
	<body>
		<span contenteditable="true" onblur="fst();" >Первое слово</span>
		<br>
		<span onmousedown="scd();" >Второе слово</span>
	</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
.trigger() и глобальная переменная madicom jQuery 1 25.12.2011 17:53
Глобальная переменная в функции Орёл Общие вопросы Javascript 1 18.12.2010 20:21
Глобальная переменная vah-smile Общие вопросы Javascript 3 06.07.2010 12:41
Глобальная переменная, считать правильнае значение в функции konstantinopol Общие вопросы Javascript 11 01.05.2010 23:28
Глобальная переменная и массив mikeles Events/DOM/Window 2 21.11.2009 18:37