js小工具-使用dom元素模拟placeholder

本文介绍了如何使用DOM元素模拟input输入框的placeholder,解决不同浏览器样式不一致的问题。通过创建span元素展示placeholder,并利用MutationObserver监听输入框状态,确保样式统一。
摘要由CSDN通过智能技术生成

1.简介

placeholder是input输入框的一个属性,熟悉网页开发的同学应该都知道它,它可以为文本框增加一个文字提示,并且在文本框开始输入或聚焦时自动隐藏,然而,placeholder在不同的浏览器中默认的样式和出现的时机都是不确定的。如果UI姐姐告诉你她希望这个地方就是统一的样式而你又不想拒绝的时候,那就得想办法去实现它啦。

2.代码实现

这里用一个span来显示placeholder的元素,并且当文本框聚焦或输入时检测是否需要显示placeholder,同时采用MutationObserver监听属性的变化。这个MutationObserver是HTML5新增的对象,用于取代传统的Mutation Event,可用来监听节点的插入删除和属性的变化等,有兴趣的同学可以百度一下。

var dc = {
	//给input输入框添加placeholder
	placeholder: function(input,holderStyles,styles,cstyles){
		var $input = $(input);
		$input.each(function(index,ele){
			var $self = $(ele);
			var $parent = $self.parent();
			if(!$parent.data('inputholder')){
				//判断是否存在一个类名为input-container的父元素
				if(!$parent.hasClass('input-container')){
					$self.before($('<span class="input-container"></span>'));
					//新增将容器的宽高和display属性设置为和input元素一样
				
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月桦剑士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值