Очередность выполнения 2х событий
День добрый. Как можно побороть ситуацию - есть инпут, на нем висит обработчик 'change', есть div - на нем висит 'click'. При клике на div, первым срабатывает onchange на инпуте, а только потом клик на div. Можно ли как-то поменять их местами?
|
zilker,
Выложите HTML код данного куска страницы |
<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' на видимом инпуте. |
Цитата:
<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>
Выложите Ваш скрипт обработки |
Можно поинтересоваться, в каком браузере Вы работаете?
Запускаю скрипт из Вашего сообщения - Опера и мозилла последних версий - сначала onchange, потом onclick Хром второй алерт с кликом вообще не выводит. |
Цитата:
Мозилла 17.01 |
Странно, те же самые версии. Очередность моих действий:
1.Вводим что-то в текстовое поле. 2.Нажимаем на текст "Ленина" 3.Выскакивает алерт "onchange" 4.Следующий алерт "onclick" Что я делаю не так... |
Цитата:
В начальной задаче было написано первый клик на div, про первоначальный ввод в инпут речи не велось Собственно опишите желаемую последовательность и Варианты поведения при ином порядке действий |
Да, наверно я неверно выразился. Что мне необходимо:
1.Вводим что-то в инпут 2.Нажимаем на див 3.Срабатывает обработчик onclick на диве 4.Срабатывает обработчик onchange на инпуте |
<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>
|
| Часовой пояс GMT +3, время: 22:10. |