Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Выделить текст внутри input при получении фокуса (https://javascript.ru/forum/jquery/11286-vydelit-tekst-vnutri-input-pri-poluchenii-fokusa.html)

vp111 14.10.2011 11:35

Только ,если можно мне вот там без фокусов каких -то без буля и т.п. Просто как исправить и чё это такое вообще?Заранее примногоразблагодарен

fant777 09.06.2015 15:50

Может кому пригодится: (использовался jquery-2.1.3.min.js),
input'ы были помещены в <td> в ряд слева направо таблице (у каждого input'a свой td), работает по нажатию клавиш стрелок "влево"-"вправо". Код:

<script type="text/javascript">
$(document).ready(function(){
$('td input').keyup(function(k) {
var position;
switch (k.keyCode) {
case 39: // клавиша 'стрелка right'
position = $(this).parent().next();
break;
case 37: // клавиша 'стрелка left'
position = $(this).parent().prev();
break;
position.find('input').select();
});
});
</script>

Gmp 30.09.2015 17:12

Никак понять не могу (я пока еще зеленый), пытаюсь сделать чтоб при получении фокуса текстовым полем (хоть мышкой хоть клавой) содержимое инпута было выделено, т.е. вводимое значение заменяло старое значение, при этом если кликать или выделять текст, то чтобы все работало как обычно.
Если вешаю на onclick то любой клик соответственно выделяет все содержимое, если же onfocus (что вроде правильнее), то оно на долю секунды выделяет а потом выделение сбрасывается.
Подмогните кто чем может :(

<!doctype html>
<html lang="ru">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<title></title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

<style type="text/css">
	#table tr {
		background:#dee3e7;
		border:0;
	}
	#table th {
		background:#eec3c7;
		border:0;
	}
	input[type=text] {
		background-color: transparent;
		border: 1px solid transparent;
	}
	input[type=text]:focus {
		border-bottom: 1px dotted #c6d0d8;
		outline: none;
	}
	input[type=text]::selection {
		background: #c6d0d8;
	}
</style>
</head>

<body>

<table id="table" cellspacing="0" cellpadding="0">
<thead>
<tr>
	<th>№</th>
	<th>Name</th>
	<th>Password</th>
</tr>
</thead>
<tbody>
<tr>
	<td>1</td>
	<td><input type="text" value="Puh" /></td>
	<td><input type="text" value="wqqwe" /></td>
</tr>
<tr>
	<td>2</td>
	<td><input type="text" value="Pyatak" /></td>
	<td><input type="text" value="211122" /></td>
</tr>
<tr>
	<td>3</td>
	<td><input type="text" value="Sova" /></td>
	<td><input type="text" value="Soaasa" /></td>
</tr>
<tr>
	<td>4</td>
	<td><input type="text" value="Champion" /></td>
	<td><input type="text" value="Scxcc" /></td>
</tr>
<tr>
	<td>5</td>
	<td><input type="text" value="Tongue" /></td>
	<td><input type="text" value="werbvf" /></td>
</tr>
</tbody>
</table>

<script type="text/javascript">

	$('#table input').on('focus', function(){
		$(this).select();
	});

</script>

</body>
</html>


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