Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.12.2012, 11:28
Аватар для zilker
Профессор
Отправить личное сообщение для zilker Посмотреть профиль Найти все сообщения от zilker
 
Регистрация: 30.07.2011
Сообщений: 189

Очередность выполнения 2х событий
День добрый. Как можно побороть ситуацию - есть инпут, на нем висит обработчик 'change', есть div - на нем висит 'click'. При клике на div, первым срабатывает onchange на инпуте, а только потом клик на div. Можно ли как-то поменять их местами?
Ответить с цитированием
  #2 (permalink)  
Старый 20.12.2012, 12:24
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

zilker,
Выложите HTML код данного куска страницы
Ответить с цитированием
  #3 (permalink)  
Старый 20.12.2012, 12:47
Аватар для zilker
Профессор
Отправить личное сообщение для zilker Посмотреть профиль Найти все сообщения от zilker
 
Регистрация: 30.07.2011
Сообщений: 189

<div class="select autocomplete" wrapper="Streets" id="Streets">
	<div class="selecthead">
		<div class="selecttext">
			<div class="selectvalue">
				<input placeholder="выбрать улицу" type="text" />
			</div>
			<div class="lighting"></div>
			</div>
		<input type="hidden" value="" name="streets" id="f-streets"/>
		<div class="arrow"></div>
	</div>
	<div class="selectlist">
		<div class="option">Ленина</div>
	</div>
</div>

Клик на диве с классом 'option', 'onchange' на видимом инпуте.
Ответить с цитированием
  #4 (permalink)  
Старый 20.12.2012, 13:12
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от zilker
При клике на div, первым срабатывает onchange на инпуте, а только потом клик на div.
Не наблюдаю подобного
<div class="select autocomplete" wrapper="Streets" id="Streets">
	<div class="selecthead">
		<div class="selecttext">
			<div class="selectvalue">
				<input placeholder="выбрать улицу" type="text" onchange="Al_2(this)"/>
			</div>
			<div class="lighting"></div>
			</div>
		<input type="hidden" value="" name="streets" id="f-streets"/>
		<div class="arrow"></div>
	</div>
	<div class="selectlist"><br />
		<div class="option" onclick="Al_1(this)">Ленина</div>
	</div>
</div>


<script type="text/javascript">
function Al_1(a){
  alert("onclick")
}
function Al_2(a){
  alert("onchange")
}

</script>

Выложите Ваш скрипт обработки

Последний раз редактировалось Deff, 20.12.2012 в 13:14.
Ответить с цитированием
  #5 (permalink)  
Старый 20.12.2012, 13:23
Аватар для zilker
Профессор
Отправить личное сообщение для zilker Посмотреть профиль Найти все сообщения от zilker
 
Регистрация: 30.07.2011
Сообщений: 189

Можно поинтересоваться, в каком браузере Вы работаете?
Запускаю скрипт из Вашего сообщения -
Опера и мозилла последних версий - сначала onchange, потом onclick
Хром второй алерт с кликом вообще не выводит.
Ответить с цитированием
  #6 (permalink)  
Старый 20.12.2012, 13:38
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от zilker
Можно поинтересоваться, в каком браузере Вы работаете?
Опера 12.10
Мозилла 17.01
Ответить с цитированием
  #7 (permalink)  
Старый 20.12.2012, 15:59
Аватар для zilker
Профессор
Отправить личное сообщение для zilker Посмотреть профиль Найти все сообщения от zilker
 
Регистрация: 30.07.2011
Сообщений: 189

Странно, те же самые версии. Очередность моих действий:

1.Вводим что-то в текстовое поле.
2.Нажимаем на текст "Ленина"
3.Выскакивает алерт "onchange"
4.Следующий алерт "onclick"
Что я делаю не так...
Ответить с цитированием
  #8 (permalink)  
Старый 20.12.2012, 16:09
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от zilker
Странно, те же самые версии. Очередность моих действий:
Хм - Ну Все верно, - Вы же изменили текстовое поле, при клике вне поля input сразу де возникает onchang

В начальной задаче было написано первый клик на div,
про первоначальный ввод в инпут речи не велось

Собственно опишите желаемую последовательность и Варианты поведения при ином порядке действий
Ответить с цитированием
  #9 (permalink)  
Старый 20.12.2012, 16:35
Аватар для zilker
Профессор
Отправить личное сообщение для zilker Посмотреть профиль Найти все сообщения от zilker
 
Регистрация: 30.07.2011
Сообщений: 189

Да, наверно я неверно выразился. Что мне необходимо:

1.Вводим что-то в инпут
2.Нажимаем на див
3.Срабатывает обработчик onclick на диве
4.Срабатывает обработчик onchange на инпуте
Ответить с цитированием
  #10 (permalink)  
Старый 20.12.2012, 17:01
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<div class="select autocomplete" wrapper="Streets" id="Streets">
	<div class="selecthead">
		<div class="selecttext">
			<div class="selectvalue">
				<input placeholder="выбрать улицу" type="text" onchange="Al_2(this)"/>
			</div>
			<div class="lighting"></div>
			</div>
		<input type="hidden" value="" name="streets" id="f-streets"/>
		<div class="arrow"></div>
	</div>
	<div class="selectlist"><br />
		<div class="option" onclick="Al_1(this)">Ленина</div>
	</div>
</div>


<script type="text/javascript">
var onch=false;
function Al_2(a){
  onch=a.value
}

function Al_1(a){
  alert("onclick");
  if(onch) {alert(onch)}
  onch=false;
}

</script>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery. Запрет выполнения события если другое уже выполняется. Kostyk92 Элементы интерфейса 4 09.03.2012 23:46
Какой есть обработчик событий, который будет запускаться после выполнения всего кода? KamalovRadik jQuery 12 08.11.2011 07:14
Очередность событий tarya AJAX и COMET 2 29.03.2011 03:22
Скопировать обработчики событий с одного элемента на другой. Jurasmi Events/DOM/Window 3 10.11.2010 19:03
Приостановка выполнения событий Vteam Events/DOM/Window 6 14.12.2009 00:25