将函数应用于所有文本输入字段

时间:2014-12-07 19:43:32

标签: javascript

我有一些代码可以自动选择输入字段中的文本。

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

我正在实施它

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

如果我要全局应用此代码而不是内联,我认为更新更容易更新。

如何从外部.js文件中将此代码添加到所有文本输入标记(或者可能是具有特定ID的文本输入标记)?

3 个答案:

答案 0 :(得分:1)

您可以通过此代码

为所有类型文本输入设置此全局
$("input[type=text]").click(function(){

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

答案 1 :(得分:0)

试试这个:

$(document).on('click', 'input:text', function() {
    $(this).select();
});

答案 2 :(得分:0)

由于<input />元素会自动专注于点击该元素,因此您只需要this.select()

&#13;
&#13;
$('input[type="text"]').on('click', function () {
  this.select();
});
&#13;
<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" />
&#13;
&#13;
&#13;

而且,如果你想避免使用jQuery,你可以简单地说:

&#13;
&#13;
function selectThis () {
  return this.select();
}

Array.prototype.forEach.call(document.querySelectorAll('input[type=text]'), function (input) {
  input.addEventListener('click', selectThis);
});
&#13;
<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" />
&#13;
&#13;
&#13;

参考文献: