2014-12-07 2 views
0

У меня есть этот бит кода для автоматического выбора текста в поле ввода.Применение функции ко всем полям ввода текста

onclick="this.focus();this.select()" 

И я его реализация, как так

<input type="text" onclick="this.focus();this.select()" value="xxxxx"> 

Я думаю, это было бы чище и проще сделать обновление, если я применить этот код глобально вместо встроенного.

Как я могу добавить этот код ко всем тегам ввода текста (или, возможно, к текстовым входным тегам с определенным идентификатором) из внешнего .js-файла?

ответ

0

В качестве <input /> элемент автоматически фокусируется на щелкая этот элемент, вы должны только нужно this.select():

$('input[type="text"]').on('click', function() { 
 
    this.select(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" value="something" /> 
 
<input type="text" value="something else" /> 
 
<input type="text" value="something other" />

И, если вы хотите, чтобы избежать JQuery для этого, вы могли бы просто:

function selectThis() { 
 
    return this.select(); 
 
} 
 

 
Array.prototype.forEach.call(document.querySelectorAll('input[type=text]'), function (input) { 
 
    input.addEventListener('click', selectThis); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" value="something" /> 
 
<input type="text" value="something else" /> 
 
<input type="text" value="something other" />

Ссылки:

+0

Я пошел с опцией jQuery для согласованности в проекте. Благодарю. – pedalGeoff

+0

Ты очень рад, я рад, что помог :) –

1

вы можете сделать это глобальный для всех ввода tyoe текста с помощью этого кода

$("input[type=text]").click(function(){ 

$(this).focus(); 
$(this).select(); 
///do something here 
}): 
0

Попробуйте это:

$(document).on('click', 'input:text', function() { 
    $(this).select(); 
}); 
Смежные вопросы