В каком Input фокус?
Как узнать в каком Input или TextArea в данный момент установлен фокус?
|
Почемучкин, по какому событию ты это собираешся узнавать?
|
Цитата:
|
Нет, нужно на чистом JavaScript.
ksa, допустим - по таймеру. Или при нажатии на картинку. |
Кажется, вот это подходит:
document.activeElement но я не знаю как у него с кроссбраузерностью |
Не такое, нет?
<input id="inp1" /> <input id="inp2" /> <input id="inp3" /> <script> var focusedInput; var inp= document.getElementsByTagName("input"); var check= function(){focusedInput=this}; for (var i=0; i!= inp.length; ++i) inp[i].onfocus=check; </script> <br /> <input type="button" onclick="alert('В последний раз фокус был на элементе с идентификатором ' + (focusedInput && focusedInput.id))" value="Посмотреть"/> |
<html> <body> <div id="output"></div> <div>Elem 1</div> <div>Elem 2</div> <a href="">tarattattartra</a> <button>blah</button> <script type="text/javascript"> (function(){ var listener = document.addEventListener ? ['addEventListener', 'DOMFocusIn', 'DOMFocusOut'] : ['attachEvent', 'onfocus', 'onblur']; document[ listener[ 0 ] ]( listener[ 1 ], function( e ){ document.focusedElement = e ? e.target : window.event.target; document.getElementById('output').innerHTML = 'Фокус имеет элемент с текстом: "' + document.focusedElement.innerHTML + '"'; }, false); document[ listener[ 0 ] ]( listener[ 2 ], function( e ){ document.focusedElement = null; document.getElementById('output').innerHTML = 'Нет элемента в фокусе'; }, false); })(); </script> </body> </html> |
Хотя в ие не проверял, возможно работать не будет
|
Цитата:
Цитата:
|
проверил работу document.activeElement
работает в -Google Chrome 15 -IE 8 -Opera 11.52 -Fire Fox 8 |
Часовой пояс GMT +3, время: 00:40. |