Jquery/Javascript文本框在键入内容时更改值,如果未聚焦,则恢复

Jquery/Javascript文本框在键入内容时更改值,如果未聚焦,则恢复,javascript,jquery,html,input,Javascript,Jquery,Html,Input,我不知道我应该在这个网站或谷歌上寻找什么术语,如果我的问题有重复的主题,请原谅。我真的不知道该打什么 我会提供截图让你了解我的问题 这是我的文本框,上面有(可选)值 当我将光标聚焦在文本框上时,文本框将处于聚焦模式(当我单击它时,它没有更改(可选)的值) 当我在文本框中键入内容时,(可选)值消失,并显示您正在键入的内容 当我[时,现在有一个标准的HTML属性:占位符 <input name=somename placeholder="(optional)"> 但在我看来,

我不知道我应该在这个网站或谷歌上寻找什么术语,如果我的问题有重复的主题,请原谅。我真的不知道该打什么

我会提供截图让你了解我的问题

这是我的文本框,上面有(可选)值

当我将光标聚焦在文本框上时,文本框将处于聚焦模式(当我单击它时,它没有更改(可选)的值)

当我在文本框中键入内容时,(可选)值消失,并显示您正在键入的内容


当我[时,现在有一个标准的HTML属性:
占位符

<input name=somename placeholder="(optional)">


但在我看来,这是一种方式,即使一些用户在升级IE9浏览器之前不会看到它,因为它将使您的页面更加简单和干净。

现在有一个标准的HTML属性:
占位符

<input name=somename placeholder="(optional)">


但在我看来,这是一种方式,即使一些用户在升级IE9浏览器之前看不到它,因为它将使您的页面更简单、更干净。

您可以按如下方式使用PlaceHolder,但在ie版本中不起作用:

<input type="text" placeholder="(optional)">

因此,您可以在textfield上添加javascript,如下所示:

<input type="text" value="(optional)" onfocus="if(this.value=='(optional)'){this.value=''}" onblur="if(this.value==''){this.value='(optional)'} />

Yoy可以按如下方式使用占位符,但在ie版本中不起作用:

<input type="text" placeholder="(optional)">

因此,您可以在textfield上添加javascript,如下所示:

<input type="text" value="(optional)" onfocus="if(this.value=='(optional)'){this.value=''}" onblur="if(this.value==''){this.value='(optional)'} />

您可以使用document.createElement('input');
中的JS
var support_placeholder=“placeholder”验证浏览器是否支持输入占位符,而不是在输入中包含JS,然后调整要使用的方法

编辑:使用jQuery,我可以做如下操作:

$(function(){
  if(!("placeholder" in document.createElement('input'))) {
    $('input').each(function(){
      var ph = $(this).attr('placeholder');
      $(this).val(ph);
      $(this).focus(function(){
        if($(this).val() == ph) { $(this).val(''); }
      }).blur(function(){
        if($(this).val() == '') { $(this).val(ph); }
      })
    })
  }
 })

例如,您可以先使用Chrome,然后再使用IE8。

而不是在输入中包含JS,您可以验证浏览器是否支持document.createElement('input');
中的JS
var-support\u-placeholder=“placeholder”输入占位符,然后调整要使用的方法

编辑:使用jQuery,我可以做如下操作:

$(function(){
  if(!("placeholder" in document.createElement('input'))) {
    $('input').each(function(){
      var ph = $(this).attr('placeholder');
      $(this).val(ph);
      $(this).focus(function(){
        if($(this).val() == ph) { $(this).val(''); }
      }).blur(function(){
        if($(this).val() == '') { $(this).val(ph); }
      })
    })
  }
 })
例如,你可以使用Chrome浏览器,然后使用IE8浏览器