表单输入显示隐藏焦点上的默认值

Mar*_*ark 2 html javascript css jquery

我使用下面的代码显示隐藏焦点上的默认输入值.但是,我将在一个页面上使用一些表单,并且真的不想为每个输入字段创建这个js,非常耗时并且可能有点太多js.

HTML

<input type="text" class="sb" value="Search CT..."/>
Run Code Online (Sandbox Code Playgroud)

使用Javascript

 //search box
 $("input.sb").focus(function(){
     if ( $(this).val() == "Search CT...")
    $(this).val('');
 });
 $("input.sb").blur(function(){
     if ( $(this).val() == "")
     $(this).val('Search CT...');
 });
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种方法可以创建一些通用的JS来显示/隐藏默认值,无论其内容是否适用于所有表单输入?

希望这很有道理,非常感谢.

lon*_*day 7

此代码将查看页面加载时的所有文本输入元素和textarea元素.它将使用存储它们的原始值$.data.然后它将根据需要进行清空和重新填充.

$(document).ready(function(){
    $('form input:text, form textarea').each(function(){
        $.data(this, 'default', this.value);
    }).focus(function(){
        if ($.data(this, 'default') == this.value) {
            this.value = '';
        }
    }).blur(function(){
        if (this.value == '') {
            this.value = $.data(this, 'default');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)