Uncaught TypeError: Cannot read property 'trigger' of undefined

任何点击,无论是否有事件,控制台都会打出这条信息. 就算是点击事件报了这个错,还是不影响流程,

有人遇到过么?

阅读 24.1k
7 个回答

图片描述

Uncaught TypeError: Cannot read property 'trigger' of undefined
    at zepto.min.js:3

刚遇到同样的问题,更新最新版本的 Zepto v1.2.0中的 touch 模块,就不会再出现此类问题了。

zepto.js自定义模块打包构建

1、从github上down一份下来(https://github.com/madrobby/z...),把目录直接丢到x盘。

2、安装nodejs环境以及npm包管理器

3、运行,打开CMD命令行,用cd命令切换到x盘的zepto目录下

4、编辑目录下的make文件,找到第42行,就是modules = (env['MODULES'] || 'zepto detect event ...').split(' ')这么一行。引号里以空格分隔的就是将要打包的模块名,加入touch,保存。(当然,可以根据自己需要增减模块,核心模块zepto别删掉了就行)

5、回到命令行,输入npm install回车安装。安装好,再输入npm run-script dist回车,开始打包构建。

6、如果没有报错的话,就ok了。到dist目录下可以看到生成的三个文件:原始文件zepto.js,压缩后的zepto.min.js,gzip后的zepto.min.gz。生产环境使用zepto.min.js就行了。

这样zepto.js自定义模块打包就完成了

任何点击,无论是否有事件,控制台都会打出这条信息
那说明,这个监听句柄绑定在document上面啊。

如果用的是chrome浏览器的话,按F12
然后直接看EventListeners就好了:

clipboard.png

个人觉得应该是加载了什么JS然后导致了这个倒霉的问题

事件委托了吧,看下哪里调用了trigger方法

怎么解决的这个问题,我也遇到了

新手上路,请多包涵

高票答案搞这么复杂,有没有搞错= =。
其实就是zepto本身问题,需要更新到最新版;
下载链接:
http://zeptojs.com/zepto.min.js

话说这玩意真难用,一脸的问题。比jq差远了

新手上路,请多包涵

从zepto官网下载下载的模块是不全的,默认的只包含zepto event ajax form ie模块,而touch模块需要自己添加打包的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题