顾又铭真崎航gv照片,全能闲人无弹窗,16楼快播影院
本文转自:
用多了 jquery ,习惯了使用jquery的api操作 dom ,几乎忘记了原生js对dom操作,今天在项目中遇到了文字和图片混输的情况,第一个想到的办法是用 textarea 实现,结果发现实现不了图片输入,然后想着找个富文本编辑器的插件实现,深思熟虑之后,我的需求好像也没那么复杂,不至于引用个插件,看了 掘金 的发布沸点功能,然后就模仿了其作法,于是就有了这篇文章的分享。先给大家展示下最后实现的效果:yum:
实现思路
实现过程
声明div可编辑,监听回车键事件,关闭拼写检查,绑定ref方便获取当前元素
<div class="input-panel" ref="msginputcontainer" @keydown.enter.exact="sendmessage($event)" contenteditable="true" spellcheck="false"></div>
表情输入框绑定对应的事件
<div class="item-panel" v-for="item in this.emojilist" :key="item.info"> <img :src="require(`../assets/img/emoji/${item.src}`)" :alt="item.info" @mouseover="emojiconversion($event,'over',item.src,item.hover,item.info)" @mouseleave="emojiconversion($event,'leave',item.src,item.hover,item.info)" @click="emojiconversion($event,'click',item.src,item.hover,item.info)"> </div>
实现表情框图片点击事件
emojiconversion: function (event, status, path, hoverpath, info) { if (status === "over") { event.target.src = require(`../assets/img/emoji/${hoverpath}`); } else if (status === "click") { console.log(hoverpath); // 表情输入 const imgsrc = require(`../assets/img/emoji/${hoverpath}`); const imgtag = document.createelement("img"); imgtag.src = imgsrc; imgtag.alt = info; this.$refs.msginputcontainer.appendchild(imgtag); } else { event.target.src = require(`../assets/img/emoji/${path}`); } }
总结
以上所述是小编给大家介绍的vue实现图片与文字混输效果,希望对大家有所帮助
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
VUE+elementui组件在table-cell单元格中绘制微型echarts图
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
vue 路由懒加载中给 Webpack Chunks 命名的方法
网友评论