webpack引入jquery,报错`$(...).click(...) is not a function`

想使用webpack引入jquery,结果报错:
webpack.config.js中这样配置jquery

plugins:[
        new webpack.ProvidePlugin({
            $:"jquery",
            jQuery:"jquery",
            "window.jQuery":"jquery"
        })
    ]

在使用时这样使用:

    // import $ from 'jquery'
    var $ = require('jquery');
    
    $("#xxx").click(function(){
        console.log("click")
    })

结果报错$(...).click(...) is not a function

按照下面打印一下,结果如截图

console.log($("#xxx").length)
console.log($("#xxx"))

$("#xxx").click(function(){
    console.log("click")
})

图片描述

图片描述

阅读 5.8k
2 个回答

找到答案,应该把代码写在$(function(){})里面

我这里有个疑问,如果是引入jquery失败,那么报的错应该是$ is not a function吧,我怀疑,是不是新版jquery把click这API给废弃掉了之类的。

你可以试着把你的$('p')打印出来看看。