javascript - 按钮上的工具提示有效,但输入时无效

标签 javascript vue.js vuejs3 bootstrap-5

我想在我使用 Vue 3Bootstrap 5 的项目中使用 Tooltips

我在脚本中做了以下操作:

<script>
  import { Tooltip } from "bootstrap/dist/js/bootstrap.esm.min.js";

  export default {
    mounted() {
      Array.from(document.querySelectorAll('button[data-bs-toggle="tooltip"]'))
      .forEach((tooltipNode) => new Tooltip(tooltipNode));
    }
  }
</script>

现在我想在我的模板中使用它。在下面的按钮上效果很好,但我无法在我的输入上使用它。

<template>
  <button type="button" class="btn btn-secondary me-2" data-bs-toggle="tooltip" data-bs-placement="top" title="Tooltip on top">
    Tooltip on top
  </button>

  <input
    type="text"
    class="form-control"
    data-bs-toggle="tooltip"
    data-bs-placement="bottom"
    :title="txt_input"
    :value="txt_input"
    readonly
  />
</template>

我不明白为什么它不起作用。感谢您的帮助!

最佳答案

假设您有一个 txt_input 值,您只需为按钮元素重复代码即可:

    mounted() {
      Array.from(document.querySelectorAll('button[data-bs-toggle="tooltip"]'))
      .forEach((tooltipNode) => new Tooltip(tooltipNode));
      Array.from(document.querySelectorAll('input[data-bs-toggle="tooltip"]'))
      .forEach((tooltipNode) => new Tooltip(tooltipNode));
    }

但是,我们可以通过使用类名来编写更清晰的实现:

<template>
  <button 
    class="btn btn-secondary me-2 tooltip-element"
    data-bs-placement="top"
    title="Tooltip on top"
    type="button">
    Tooltip on top
  </button>

  <input
    :title="txt_input"
    :value="txt_input"
    class="form-control tooltip-element"
    data-bs-placement="bottom"
    readonly
    type="text"
  />
</template>

<script>
  import { Tooltip } from "bootstrap/dist/js/bootstrap.esm.min.js";

  export default {
    mounted() {
      Array.from(document.querySelectorAll('.tooltip-element'))
      .forEach((tooltipNode) => new Tooltip(tooltipNode));
    }
  }
</script>

编辑

如果我们在 querySelectorAll 中使用类名称,我们可以从元素中删除 data-bs-toggle="tooltip"

关于javascript - 按钮上的工具提示有效,但输入时无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72458637/

相关文章:

javascript - 从tinyMce附加的图像在管理面板和正面具有不同的路径

javascript - D3非圆弧

javascript - Vue - Reactive 中的组合 API 数组未在 DOM 中更新

javascript - Vue.js 'props' 在模板中工作,但在方法中未定义

javascript - 初始化时数组 'glued'

javascript - Jasmine 测试响应失败

node.js - 在 Vue JS 项目上运行 npm run server 时出现错误

javascript - 通过 Vue.Js 调查导航

javascript - 函数参数传值,如何通过Object.defineProperty劫持一个对象的属性

typescript - 如何将类型从 Vue3 组件导出到全局范围?