В каком 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, время: 03:34. |