javascript - 为元素动态创建工具提示

标签 javascript vue.js vuetify.js tooltip dynamically-generated

当用户在页面上选择随机文本时,我试图显示工具提示 - 想想注释文本。

我能够动态创建 v-tooltip 组件。我在 JS 中选择了元素,但在使用 v-tooltip 组件包装它时遇到问题。我能够包裹它,但工具提示位于页面顶部,而不是包裹元素本身。我也不确定我的方法是最好的。

这是一个 JSFiddle 示例:https://jsfiddle.net/6xk7zLv9/

有没有更好的方法来动态生成Vue组件并插入到DOM中?如何正确地将工具提示附加到所选元素。

最佳答案

您需要在工具提示上指定侧支撑(上/下/左/右)。

激活器插槽也是可选的,您可以使用 position-xposition-y 属性将其放置在您想要的任何位置,而无需替换 DOM 元素:https://codepen.io/kaelwd/pen/LYWLxVe?editors=1010

window.getSelection().getRangeAt(0).getBoundingClientRect() 将为您提供当前选择的位置:https://codepen.io/kaelwd/pen/poewRaE?editors=1010
如果您想要真正喜欢,您可以调用 getClientRects 并让工具提示跟随选择的末尾:https://codepen.io/kaelwd/pen/vYxZgjb?editors=1010

https://developer.mozilla.org/en-US/docs/Web/API/Window/getSelection https://developer.mozilla.org/en-US/docs/Web/API/Selection/getRangeAt https://developer.mozilla.org/en-US/docs/Web/API/Range/getClientRects

关于javascript - 为元素动态创建工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67591531/

相关文章:

javascript - 动态更改 SAP Fiori 标题时出现 "this.getService is not a function"

javascript - 检查输入字段是否包含特定文本

vue.js - VueJS : scope. 通知不是函数

vuejs2 - 如何修改Vuetify默认主题?

html - Vuetify 动画 v-data-table

javascript - 使用 jQuery 和 CSS 根据行和列的奇偶性设置表数据单元格的样式

javascript - 如何让多个路由在express.js中使用相同的路由函数

javascript - Vue Js 过滤器不起作用

javascript - 如何在Vue.js中设置自定义中间件

javascript - Vuetify 自动完成类似的项目没有显示