JavaScript实现Input、Select及Textarea默认字体颜色与交互效果

作者:小括号时间:2026-10-22 03:14:51浏览:404

本文介绍如何利用JavaScript和jQuery实现表单元素的默认字体颜色控制。通过监听焦点事件,使Textarea在获取焦点时清除提示文字并变黑,失去焦点时恢复灰色。同时演示如何设置Select下拉框默认选中项为灰色,选择其他选项后变为黑色。此外,提供jQuery插件方式处理Input文本框的默认值显示与清除逻辑,提升用户体验。

Textarea默认文字颜色与焦点交互处理

对于Textarea元素,需要实现默认文字颜色为灰色,并在用户获取焦点时清除默认提示文字,同时将字体颜色改为黑色;当焦点离开且内容为空时,恢复显示默认灰色提示文字。


<textarea cols="50" rows="5" id="textarea" onfocus="if(value=='获取到元素焦点'){value='';document.getElementById('textarea').style.color='#000'}" onblur="if (value ==''){value='元素焦点消失';document.getElementById('textarea').style.color='#999'}">输入您要输入的内容</textarea>

Select下拉框默认选中项颜色控制

针对Select下拉框,需实现默认选中项的文字颜色为灰色,当用户选择其他选项后,文字颜色变为黑色。此效果可通过JavaScript结合jQuery实现,监听change事件判断当前选中值是否为默认项,从而动态调整颜色。


<script>
var unSelected = "#999";
var selected = "#333";
$(function () {
$("select").css("color", unSelected);
$("option").css("color", selected);
$("select").change(function () {
var selItem = $(this).val();
if (selItem == $(this).find('option:first').val()) {
$(this).css("color", unSelected);
} else {
$(this).css("color", selected);
}
});
})

</script>

Input文本框默认值显示与清除逻辑

对于Input文本框,若存在默认值,则默认以灰色显示。当用户点击输入框获取焦点时,默认值消失,用户输入的字符显示为黑色。可通过jQuery封装插件或事件监听实现该功能,确保默认值在交互时正确显示与清除。


<script type="text/javascript">

$(function() {
  //集体调用类型为text的input
  $(".form input[text]").each(function(){
    $(this).setDefauleValue();
  });
  //单个调用
  $("#key").setDefauleValue();
})
 
//设置默认值
$.fn.setDefauleValue = function() {
  var defauleValue = $(this).val();
  $(this).val(defauleValue).css("color","#eee");
 
  return this.each(function() {   
    $(this).focus(function() {
      if ($(this).val() == defauleValue) {
        $(this).val("").css("color","#000");//输入值的颜色
      }
    }).blur(function() {
      if ($(this).val() == "") {
        $(this).val(defauleValue).css("color","#999");//默认值的颜色
      }
    });
  });
}
</script>
</head>
 
<body>
<form class="form">
 <input type="text" size="30" value="输入账户">
 <br>
 <input type="text" size="30" value="输入密码">
</form>
<br>
<br>
<br>
<input type="text" size="30" id="key" value="输入手机号">

作者最新文章