本文主要是介绍前端超出宽度显示省略号并显示文本,不超出显示也不触发hover事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
需求:
1-文本超出div宽度时显示省略号,且鼠标放上去显示全部文本;
2-文本不超出时正常显示也不触发hover事件。
一、普通div通过title显示
用户可能会放大放小窗口,所以做了动态宽度
直接上代码
mounted() {this.getSetTextWidth(); // 初试化显示省略的div},undated() { // 根据窗口变化实时监听Window.onresize = () => {return (() => {this.getSetTextWidth();})}},methods: {getSetTextWidth() {const box = document.querySelectorAll('.text_list'); // 所有class=text_list的divfor (let i = 0; i < box.length; i++) {if (box[i].scrollWidth > box[i].offsetWidth) { // 超出宽度box[i].title = box[i].textContent;}else { // 没有超出宽度box[i].removeAttribute('title'); // 删除该属性}}}}
二、element el-tooltip显示
template
<div class="history_box"><div v-if="ifShowTootip" class="text_list">{{historyData.text}}</div><div v-else class="text_list"><el-tooltip class="item" effect="dark" :content="historyData.text" placement="top-start"><span>{{historyData.text}}</span></el-tooltip></div></div>
script
mounted() {this.getSetTextWidth(); // 初试化显示省略的div},undated() { // 根据窗口变化实时监听Window.onresize = () => {return (() => {this.getSetTextWidth();})}},methods: {getSetTextWidth() {const box = document.querySelector('.text_list'); // text_list的长度if (box.scrollWidth > box.offsetWidth) { // 超出宽度this.ifShowTootip = false;}else { // 没有超出宽度this.ifShowTootip = true;}}}
这篇关于前端超出宽度显示省略号并显示文本,不超出显示也不触发hover事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!