【问题标题】:Input field, on focus, assign value, on blur keep value, on focus keep value输入字段,聚焦,赋值,模糊保持值,聚焦保持值
【发布时间】:2011-10-23 17:36:37
【问题描述】:

这是我想要做的:

我有一个简单的输入字段,如果它有一个空值,在焦点上,我想给它一个值 12345。
问题是,一旦值变成 12345,我在它后面放了任何东西(例如 7890),点击外面,再点击里面,它会删除 7890。

http://jsfiddle.net/4VYpV/

我怎样才能让 7890 或之后的任何东西作为值,这样它就不会在模糊和聚焦时被擦除?

【问题讨论】:

    标签: javascript jquery input focus field


    【解决方案1】:

    您已经绑定了焦点函数并且交换了对空白 val 的检查。

    试试这个:

    编辑:更新了代码以删除基于@karim79 的 cmets 的冗余每个函数

    $('.inputField').focus(function() {
            if ($(this).val() == '') $(this).val("12345");
    });
    

    工作示例:http://jsfiddle.net/4VYpV/1/

    【讨论】:

    • 另外值得注意的是,.each 完全是多余的。
    【解决方案2】:

    喜欢this

    $('.inputField').each(function() {
      if($(this).val() == '')
        $(this).focus(function(){
          if($(this).val() == '')
          $(this).val("12345");
      });    
    });
    

    【讨论】:

    • 谢谢约瑟夫,两个答案都有效,我选择了 Cyber​​nate 的,因为它使用最少的代码,无论如何都很好的答案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 2018-02-20
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多