有趣的 contentEditable

以前在知乎看到一篇关于《一行代理可以做什么?》的回答:

当时试了一下确实很好玩,于是每次都可以在妹子面前秀一波操作,在他们惊叹的目光中,我心里开心地笑了——嗯,又让一个不懂技术的人发现到了程序的美,咳咳。

一直以来,我都觉得这个属性只是为了存在而存在的,然而在今天接到的需求之后,我发现这个感觉没什么用的属性竟然完美地解决了我的需求。

需求

需求很简单,在输入框里添加按钮就好了。这种功能一般用于邮件群发,这里的按钮“姓名”其实就是一个变量,后端应该要自动填充真实用户的姓名,然后再把邮件发给用户的。

问题

这个需求乍一看感觉可以用 position: relative + position: absolute 来完成。但是细想就不太可能:按钮肯定会覆盖输入内容的,而且单单一个删除“姓名”按钮这个功能就很难做。

再说只用