javascript - 如何使文本框显示一个值,但单击时显示另一个值?

标签 javascript jquery html input textbox

我想要一个文本框,默认情况下包含“在此处输入文本”之类的内容,但单击时,另一个单词会取代默认值的位置。

到目前为止,我只包含显示默认值的代码:

<input type="text" name="phrase" value="Enter text here..." size="24" onfocus="if(this.value == 'Enter text here...') { this.value = ''; }" onBlur="if(this.value == '') {this.value='Enter text here...';}">

最佳答案

您应该对焦点消失的文本使用占位符:

<input type="text" data-default="Default" placeholder="Enter text here..." />

我使用 data-default 来保存将替换占位符的默认值

鉴于此,下面的代码将输入的值设置为 data-default:

$(funcion(){
  $(input).on('click', function(){
      var $this = $(this),
          defaultValue = $this.data('default');

    if(defaultValue) $this.val(defaultValue);
  })  
 });

这是一个 fiddle :http://jsfiddle.net/z4mhqgjg/

关于javascript - 如何使文本框显示一个值,但单击时显示另一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25294336/

相关文章:

javascript - 嵌套的 $(document).ready() 和 $(window).load() 事件之间的区别

html - 媒体查询 CSS3 不适用于最大宽度 : 420px

jquery - 当高度增加时图像消失。为什么?

javascript - 无法从组件属性设置 VueJs 组件数据值

jquery - 导航子菜单悬停在触摸屏上

javascript停止表单提交

JavaScript Accordion 菜单适用于 IE,不适用于 Chrome 或 Firefox

html - 如何使纯 css float 工具提示(绝对定位跨度)动态调整大小以适应文本

javascript - 浏览器忽略覆盖 div 上的 z-index

javascript - 检查嵌套数组中的元素