Страницы: 1
имею код
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>TestDate</title> </head> <body> <button>asdsa</button> <input id="input" type="text" value="sdasd"> </input> <script type="text/javascript"> var input = document.getElementById("input"); input.addEventListener('blur', function() { alert('onblur'); return true; }, false); input.addEventListener('focus', function() { alert('onfocus'); return true; }, false); input.addEventListener('change', function() { alert('onchange'); return true; }, false); </script> </body> </html>
При нажатии на текстовое поле сначала вызывается onblur, потом onfocus. Само поле при этом фокус не получает, следовательно onchange вообще не вызовется. Также эти дейсвия работают при нажначении их как аттрибутов тэга. Из дополнений установлен яндекс-бар, firebug, web developer, переводчик tran. Перезапускал с отключенными дополнениями - результат тот же.
Отсутствует
Смешивать focus, blur и alert, неудачная идея. Так можно до посинения выяснять что за чем следует.
Сделайте лучше console.log
Isn't it ironic... don't you think? — Alanis Morissette
Отсутствует
в том то и дело, что при console.log() всё нормально работает, но вот какая то нелогичность получается при вызове alert(): когда элемент теряет фокус прежде чем его получит
Отсутствует
Тема перенесена из форума «Поддержка пользователей» в форум «Разработка».
Do you feel lucky, punk?
Отсутствует
Ну может быть нелогично, но зачем вообще может понадобиться показывать алерт на фокус и какая в таком случае разница что за чем следует…
Isn't it ironic... don't you think? — Alanis Morissette
Отсутствует
nk
Здесь последовательность входов-выходов из обработчиков, и передача фокуса алерту при его (алерте) возникновении формирует своеобразный стек:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>TestDate</title> </head> <body> <button>asdsa</button> <input id="input" type="text" value="sdasd"> </input> <script type="text/javascript"> var input = document.getElementById("input"); input.addEventListener('blur', function() { try { console.log("onblur enter"); alert('onblur'); return true; } finally { console.log("onblur exit"); } }, false); input.addEventListener('focus', function() { try { console.log("onfocus enter"); alert('onfocus'); return true; } finally { console.log("onfocus exit"); } }, false); input.addEventListener('change', function() { console.log("onchange"); alert('onchange'); return true; }, false); </script> </body> </html>
Последовательность:
onfocus enter
onblur enter
oblur exit
onfocus exit
Отсутствует
Страницы: 1