placeholder兼容

本文介绍了一种在不支持placeholder属性的旧版浏览器中实现占位符效果的方法。通过JavaScript为input元素添加聚焦和失焦事件,实现了占位符文字的显示与隐藏,并设置其颜色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//兼容placeholder nodes: 需要兼容的元素,placeholder里面字体的颜色
function placeholder(nodes, itemColor) {
/**
* 判断浏览器是否支持placeholder
* !("placeholder" in document.createElement("input") ----浏览器不支持placeholder属性
*/
if (nodes.length && !("placeholder" in document.createElement("input"))) {
for (var i = 0; i < nodes.length; i++) {//遍历需要添加placeholder的元素
var self = nodes[i],
placeholder = self.getAttribute('placeholder') || '';//获取placeholder属性的值
//绑定onfocus事件(焦点事件:清空placeholder的值和颜色)
self.onfocus = function () {
if (self.value == placeholder) {
self.value = '';
self.style.color = '';
}
}
//绑定onblur事件(赋值和添加颜色)
self.onblur = function () {
if (self.value == "") {
self.value = placeholder;
self.style.color = itemColor;
}
}
//没有点击事件时
self.value = placeholder;//赋值
self.style.color = itemColor;//添加颜色
}
}
}
var item = document.getElementsByTagName('input');
placeholder(item, "red");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值