假设我们想要为具有给定 contenteditable 属性的元素设置一个占位符:

<div contenteditable></div>

注意contenteditable 用于指定元素内容是否可编辑,它可以应用于任何 HTML 元素,可以像 input<textare> 那样工作编辑它们。

以下两种方法可以为 contenteditable 元素添加占位符。

使用 :empty 选择器

我们使用自定义属性 data-placeholder 来设置占位符:

<div class="editable" contenteditable data-placeholder="Edit me"></div>

当元素值为空时,将显示该属性:

.editable:empty:before {content: attr(data-placeholder);
}

处理事件

首先,我们将 iddata-placeholder 属性添加到元素中,如下所示:

<div id="editMe" data-placeholder="Edit me" contenteditable></div>

当用户聚焦该元素时,如果它与占位符相同,我们将重置其内容。此外,当元素失去焦点时,如果用户不输入任何内容,其内容将被设置回占位符。

const ele = document.getElementById('editMe')// 获取占位符属性
const placeholder = ele.getAttribute('data-placeholder')// 如果占位符为空,则将占位符设置为初始内容
ele.innerHTML === '' && (ele.innerHTML = placeholder)ele.addEventListener('focus', function (e) {const value = e.target.innerHTMLvalue === placeholder && (e.target.innerHTML = '')
})ele.addEventListener('blur', function (e) {const value = e.target.innerHTMLvalue === '' && (e.target.innerHTML = placeholder)
})

查看效果


http://www.taodudu.cc/news/show-3796391.html

相关文章:

  • 有趣的 contentEditable
  • data:text/html html contenteditable,HTML5它contenteditable属性
  • 网页版聊天功能 contentEditable属性,角标问题
  • html div 不可编辑状态,HTML contenteditable属性
  • contenteditable属性将标签变为可编辑状态,可用于在线编辑修改文本
  • HTML contenteditable 属性
  • 可编辑属性html,contenteditable
  • contenteditable换行踩坑心得
  • data:text/html html contenteditable,contentEditable
  • Vue中实现div编辑效果,及contenteditable设置为plaintext-only与true的区别
  • HTML5 - contenteditable 富文本编辑器
  • contentEditable属性
  • 分治法——循环赛日程表
  • c语言 循环赛日程表 n=2^k,循环赛日程表分治算法(c语言)
  • 1325:【例7.4】 循环比赛日程表——分治
  • 分治算法解循环赛日程表问题
  • python实现循环赛日程表问题的算法_循环赛日程表的分治算法实现实验报告_gxl.doc...
  • 1325:【例7.4】 循环比赛日程表
  • 循环赛日程表分治递归求解
  • python实现循环赛日程表问题的算法_循环赛日程表的分治算法实现实验报告gxl.doc...
  • 循环赛事日程表JAVA_java实现循环赛日程表
  • 打印循环赛日程表
  • 循环赛日程表算法分析c语言,循环赛日程表
  • 循环赛日程表------分治算法
  • 循环比赛日程表(分治法)
  • 循环赛日程安排(C语言)
  • 算法之循环赛日程表
  • JAVA代码—算法基础:循环赛日程表
  • 基于C++的循环赛日程表算法设计
  • 算法分析与设计——2.5 循环赛日程表

为 contenteditable 元素添加占位符相关推荐

  1. mvc @html.textboxfor 添加正则表示式,如何在C#/ MVC 4中的Html.TextBoxFor中输入占位符文本...

    通常在 HTML / CSS中,如果要将占位符文本添加到文本框,则只需执行以下操作: < input type ="text"class ="input-class ...

  2. 如何为“选择”框创建占位符?

    我正在使用占位符进行文本输入,效果很好. 但是我也想为我的选择框使用一个占位符. 当然,我可以使用以下代码: <select><option value=""&g ...

  3. 使用CSS更改HTML5输入的占位符颜色

    Chrome支持input[type=text]元素的占位符属性 (其他人也可能这样做). 但是以下CSS对占位符的值没有任何作用: input[placeholder], [placeholder] ...

  4. 实现跨浏览器的HTML5占位符

    译自:http://webdesignerwall.com/tutorials/cross-browser-html5-placeholder-text 译者:蒋宇捷,转载请标明出处(http://b ...

  5. MyBatis——占位符,转义字符,多元素查询(模糊查询),动态sql(多条件中多查询,多条件中单查询)

    占位符:${},#{} ${}:充当占位符时,无法防止sql注入,纯纯的外面给啥,他就往上放啥 #{}:充当-,可以防止sql注入 实体类: package com.itjh.pojo;public ...

  6. 深度学习实战(4)如何向BERT词汇表中添加token,新增特殊占位符

    向BERT词汇表中添加token 问题表述 添加特殊占位符号 add_special_tokens 其他占位符接口 报错与解决方案 问题表述 在实际应用或者学术科研过程中,我们常常需要添加一些特殊的占 ...

  7. css在中元素添加元素,css - 在伪元素内容中添加换行符到:: after或:: before

    css - 在伪元素内容中添加换行符到:: after或:: before 我无法访问页面的HTML或PHP,只能通过CSS进行编辑. 我一直在网站上进行修改并通过content或::before伪元 ...

  8. html表单元素占位符是,HTML各种表单元素模板及写法

    input中有很多属性type="text"表示文本框: name是连接前端后端的桥梁 value属性,包含的默认字符串 size宽度 maxlength接受的最多字符数 plac ...

  9. js空格占位符_灵活使用 console 让 js 调试更简单

    Web开发最常用的高度就是 console.log ,虽然 console.log 占有一席之地,但很多人并没有意识到 console 本身除了基本 log 方法之外还有很多其他方法.适当使用这些方法 ...

最新文章

  1. 记一次lnmp经历 nginx 多个php版本支持配置
  2. java 理解break,continue,return
  3. 逻辑运算符和||与(和|)的区别
  4. 3步实现Jetty和Eclipse集成
  5. 学习Spring Boot:(十八)Spring Boot 中session共享
  6. mysql数字_MySQL 中的数字类型
  7. C#限制float有两位小数
  8. 用递归法计算从n个人中选择k个人的组合数
  9. h264视频与pcm音频合成MP4视频格式
  10. Win7旗舰版 安装步骤
  11. vbs自动登陆115网盘代码
  12. tar命令中--exclude参数详解
  13. 一个圆周率的计算公式代码
  14. 共享店铺靠谱么?共享店铺哪家好?全方位测评企雀共享店铺,黑谷共享店铺!
  15. 每日写题分享--包含min函数的栈/双栈实现
  16. android贪食蛇详细教程实现加源码
  17. turtle画奥运五环图
  18. java回忆录—神奇的进制世界
  19. [跟进]_会议“诊断腾讯”
  20. UV-LED点光源,厂家,UVLED点光源日本日亚UV灯珠,3W,365nm,6mm透镜,沃客密科技

热门文章

  1. Android SurfaceView 初识
  2. cas14510-06-6|8-羟基喹啉-2-甲醛|8-Hydroxyquinoline-2-carbaldehyde黄色结晶粉末
  3. NAND闪存与NOR闪存的工作原理详解
  4. coco2017 json文件转pascal voc型 xlm文件
  5. 【计算机网络原理·实验·第四章】PPP协议配置路由广域网接口抓包理解PPP协议的帧格式
  6. html 如何整体靠左,LI方法怎么让内容靠左对齐
  7. 【RPC】RPC基本介绍
  8. No bean named ‘transactionManager‘ available: No matching TransactionManager bean found for qualifie
  9. CATIA操作经典技巧问答
  10. 开发微信小程序火车订票选座系统毕业设计