Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Скрипт на все элементы (https://javascript.ru/forum/dom-window/29961-skript-na-vse-ehlementy.html)

lolka84 19.07.2012 08:44

Скрипт на все элементы
 
Всем привет!

Подскажите, возможно ли сделать так, что б при установке фокуса в любой input страницы выделялся текст, вписанный в него ?
Т.е. понятно, что можно на каждый input вешать функцию, но можно ли сделать что-то универсальное ?

Заранее благодарю!

devote 19.07.2012 09:27

<input type="text" />
<input type="text" />
<div id="test"></div>
<script>

if ( document.addEventListener ) {

	// w3c решение

	document.addEventListener( 'focus', function( e ) {
	    if ( e.target.nodeName == "INPUT" ) {
	        document.getElementById("test").innerHTML = 'Фокус на одном из инпутов';
	    }
	}, true);
	document.addEventListener( 'blur', function( e ) {
	    if ( e.target.nodeName == "INPUT" ) {
	        document.getElementById("test").innerHTML = 'Фокус не на инпутах';
	    }
	}, true);

} else if ( document.attachEvent ) {

	// IE < 9 решение, вешать на каждый элемент, иначе никак

	var i = 0, els = document.getElementsByTagName( 'INPUT' );
	for( var el, i = 0; el = els[ i++ ]; ) {
		el.attachEvent( 'onfocus', function() {
		    document.getElementById("test").innerHTML = 'Фокус на одном из инпутов';
		});
		el.attachEvent( 'onblur', function() {
		    document.getElementById("test").innerHTML = 'Фокус не на инпутах';
		});
	}
}
</script>


Часовой пояс GMT +3, время: 23:46.