案例要求:
当鼠标单击文本框时,里面的默认文字隐藏,当鼠标离开文本框时,里面的文字显示
默认状态:
单击文本框时:
可以看到里面的手机两字消失了,当我们鼠标移动到别的位置时,手机二字又会出现
案例分析:
1.首先表单需要两个新事件,获得焦点onfocus 失去焦点onblur
2.如果获得焦点,判断表单里面内容是否为默认文字,如果是默认文字,就清空表单内容
3.如果失去焦点,判断表单内容是否为空,如果为空,则表单内容改位默认文字
示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
input {
color: #999;
}
</style>
</head>
<body>
<input type="text" name="" id="first" value="手机">
<script>
//获取元素
var danji = document.getElementById('first');
//注册事件 获得焦点onfocus
danji.onfocus = function() {
if(this.value === '手机')
{
danji.value = '';
}
danji.style.color = '#333';//获得焦点需要把里面的文字颜色变黑
}
//注册事件 失去焦点事件 onblur
danji.onblur = function() {
if(this.value === '')
{
danji.value = '手机';
}
danji.style.color = '#999';//失去焦点恢复文本框里的文字的默认颜色
}
</script>
</body>
</html>
实现效果:
默认样式:
鼠标单击文本框输入文字时:
单击文本框输入文字后鼠标移走时:
将文本框内文字删掉并移走鼠标时:
可以看到和默认样式相同
单击文本框不输入文字时: