rails 6 / webpacker tooltip and popover event listeners TypeError: $(...).tooltip is not a function

Posted

技术标签:

【中文标题】rails 6 / webpacker tooltip and popover event listeners TypeError: $(...).tooltip is not a function【英文标题】: 【发布时间】:2021-05-24 00:01:57 【问题描述】:

我收到错误 TypeError: $(...).tooltip is not a function 如果我只注释掉工具提示,那么我会收到同样的 popover 错误(不是函数)我必须删除事件来自 application.js 的侦听器以停止错误我已经看到了未安装 jquery-ui 的建议解决方案,但我发现要求 jquery-ui 破坏了我的应用程序,因此它可能包含在 jquery-ujs 中并且不应该被调用它是自己的,但希望也有人可以建议我

        document.addEventListener("turbolinks:load", () => 
    //  $('[data-toggle="tooltip"]').tooltip()
    //  $('[data-toggle="popover"]').popover()
    )

这是我完整的 application.js

        require("@rails/ujs").start()
    require("turbolinks").start()
    require("jquery")
    require("js.cookie")
    require("@rails/activestorage").start()
    require("channels")
    require("react")
    require("react-dom")
    require("bootstrap")
    require.context('../images', true)
    import "bootstrap"
    import "blueimp-gallery"
    import "../stylesheets/application"
            document.addEventListener("turbolinks:load", () => 
            //  $('[data-toggle="tooltip"]').tooltip()
            //  $('[data-toggle="popover"]').popover()
            )

    import JQuery from 'jquery';
    window.jQuery = $;
    window.$ = $;

    require("../stylesheets/application")

【问题讨论】:

我看不到 jQuery UI 库在哪里加载。 .tooltip() 是这个库的一部分,如果不包含它,您将无法加载它。 【参考方案1】:

我通过使用 ruby​​gems jquery-ui-rails 解决了这个问题,当我使用它时,我投入了 jquy-ui-themes。

【讨论】:

以上是关于rails 6 / webpacker tooltip and popover event listeners TypeError: $(...).tooltip is not a function的主要内容,如果未能解决你的问题,请参考以下文章

你如何让 JQuery 与 Rails 6 和 Webpacker 6 一起工作

Rails 5/6:如何在 webpacker 中包含 JS 函数?

Rails 6.1.0 [webpack-cli] TypeError:无法读取未定义的属性“插件”

Rails 6 + Webpack + jQuery 刷新时不保存更改

Rails 6 + Webpack、数据表、jQuery

带有 Webpack 和 Yarn 的 Rails 6 上的 ActionController 路由错误