jQuery清除焦点上的输入文本

时间:2012-12-20 18:52:44

标签: jquery input focus clear

我有这个jQuery脚本:

$(document).ready(function() {
    $(':input:enabled:visible:first').focus();
    $('.letters').keyup( function() {
        var $this = $(this);
        if($this.val().length > 1)
            $this.val($this.val().substr(0, 1));
            $(this).next('input').focus();
        });
});

它会将焦点放在页面加载的第一个input='text'字段上。当用户输入字符时,它会将焦点移动到下一个输入字段。它还将限制每个字段中允许的字符数(当前为1个字符)。

我想知道是否可以清除焦点上输入字段的当前值。当用户使用cursror单击以聚焦字段时,以及当$(this).next('input').focus();设置焦点在下一个输入字段时。

还可以验证字符只允许使用字母字符吗?

3 个答案:

答案 0 :(得分:14)

要过滤输入,请使用

​$('input').on('keydown', function(e) {
    if( !/[a-z]|[A-Z]/.test( String.fromCharCode( e.which ) ) )
        return false;
});​​​​​​​​

清除click上的输入字段& focus,请使用

$('input').on('click focusin', function() {
    this.value = '';
});

请注意,当您以当前形式点击非聚焦输入控件时,此事件将触发两次。

演示http://jsfiddle.net/xbeR2/

答案 1 :(得分:9)

要回答您的焦点问题,是的,您可以这样做:

$("input").focus(function() {
  this.value = "";
});

要回答唯一的允许字母问题,我们会been asked before

答案 2 :(得分:0)

使用此

$( document ).ready(function() {
  var search_text_s = "WYSZUKAJ";

  // author ZMORA
  // search input focus text
  $("#searchClear").focus(function() {
    if(this.value == search_text_s){
      this.value = "";
    }
  }).blur(function() {
    if(this.value != search_text_s){
      this.value = search_text_s;
    }
  });
});