Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   onClick="выделить все содержимое" (https://javascript.ru/forum/misc/6040-onclick%3D-vydelit-vse-soderzhimoe.html)

cristalith 07.11.2009 17:23

onClick="выделить все содержимое"
 
<input type="text" name="zagolovok">

Как сделать что бы при событии онКлик все содержимое выделялось?

Octane 07.11.2009 17:42

<input id="test" type="text" value="Text" />
<script type="text/javascript">
document.getElementById("test").onclick = function() {
	this.select();
};
</script>

Только изобретать свое поведение элементов ввода не хорошо :nono:

cristalith 07.11.2009 19:19

Попробовал сделать так :

<input type="text" name="zagolovok" onClick="this.select()">

оказалось что работает)

e1f 09.11.2009 12:56

Octane,
только лучше onfocus, а то вообще какое-то странное поведение выходит :)

Uncertainty 26.11.2010 01:24

onclick динамическое расширение
 
А возможно ли сделать чтобы окошко для выдыления расширялось по размерам текста, т.е скажем 10 символом он подогнал подразмеры, 100 симфолов тоже подразеры, аообщем чтобы весь текст был виден который выделяешь, в этом скрипте он показывает сисволов 10-15 остальные скрывает хотя копирует все что было указано в value, помогите разобраться

ksa 26.11.2010 08:42

Цитата:

Сообщение от Uncertainty
сделать чтобы окошко для выдыления расширялось по размерам текста

Как вариант...

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style>
* {
	margin: 0;
	padding: 0;
}
</style>
<script type="text/javascript">
</script>
</head>
<body>
<input id="test" type="text" value="Text" />

<script type="text/javascript">
document.getElementById("test").onclick = function() {
	this.select();
	var l=this.value.length
	this.size=(this.size<l)? l: this.size
};
</script>

</body>
</html>

monolithed 26.11.2010 10:08

Не, лучше так:
<script type="text/javascript">
window.onload = function(){
    var handler = ['keyup', 'focus', 'change'], i = handler.length, id = document.getElementById("test");
    while(i--){
        id['on'+handler[i]] = function(i){
            return function(){
                 var len = this.value.length, input = this;
                 this.size = (this.size < len)? len++ : len--;
                 window.setTimeout(function(){
                     if(handler[i] != handler[0] || handler[i] == handler[1]){
                         input.select();
                     }
                 }, 100);
            };
         }(i);  
    }
};
</script>
<input id="test" type="text" value="text" />

Uncertainty 26.11.2010 10:32

Не совсем так, как хотелось, в данном случае весь текст показывается после клика на него, а нужно чтобы он показывался сразу после загрузки страницы

ksa 26.11.2010 10:48

Цитата:

Сообщение от Uncertainty
нужно чтобы он показывался сразу после загрузки страницы

Для этого есть событие онлоад у тега боди...

monolithed 26.11.2010 11:02

Цитата:

Сообщение от Uncertainty
Не совсем так, как хотелось, в данном случае весь текст показывается после клика на него, а нужно чтобы он показывался сразу после загрузки страницы

В чьем примере?


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