利用chrome浏览器进行js调试并找出元素绑定的点击事件详解


Posted in Javascript onJanuary 30, 2021

前言

大家有没有遇到这样的一个问题,我们在分析一些大型电子商务平台的Web前端脚本时,想找到一个元素绑定的点击事件,并不是那么容易,因为有些前端脚本封装的比较隐蔽,甚至有些加密脚本,用传统的查找元素ID、或者页面源码方法去找,可能最后徒劳无功。下面我来介绍利用chrome浏览器来查找元素绑定的事件。

Chrome开发工具中最有用的面板Sources。Sources面板几乎是最常用到的Chrome功能面板,也是解决一般问题的主要功能面板。通常只要是开发遇到了js报错或者其他代码问题,在审视一遍代码而一无所获之后打开Sources进行js断点调试,几乎能解决8成的代码问题。

本文主要给大家介绍了关于利用chrome浏览器进行js调试并找出元素绑定的点击事件的相关内容,下面话不多说了,来一起看看详细的介绍吧

只需要通过chrome浏览器以下三个功能就可以轻松找到绑定事件了。

1.Sources(源码)

2.Event Listener Breakpoints(事件监听断点)

3.Call Stack(函数调用栈)

举个栗子:

1.打开某网站,点击“规格”中的“100x100”选项,按F12,弹出前端调试窗口,切换到Sources标签。

利用chrome浏览器进行js调试并找出元素绑定的点击事件详解

利用chrome浏览器进行js调试并找出元素绑定的点击事件详解

2.看右边的窗口(Event Listener Breakpoints)栏,选择click选项(监听点击事件)。

利用chrome浏览器进行js调试并找出元素绑定的点击事件详解

3.展开Call Stack(函数调用栈)。

利用chrome浏览器进行js调试并找出元素绑定的点击事件详解

4.然后点击如下图标或按F11,观察CallStack。

利用chrome浏览器进行js调试并找出元素绑定的点击事件详解

5.一路按如下图标或按F11,直至发现事件是直接事件源。

利用chrome浏览器进行js调试并找出元素绑定的点击事件详解

一路按下去,一定要有耐心。。。。。

利用chrome浏览器进行js调试并找出元素绑定的点击事件详解

到这里已经发现找到了事件源!!!

js 调试,chrome调试,找出点击事件

前接触过一个项目。点击事件,需要找出点击所触发的js函数,进行修改。js的封装性很强,而且用了一些js框架,通过源代码真的很难找到。所以只能借助强大的chrome浏览器了。

第一步:当然是打开调试页面了。

第二步:选择调试元素,找到该元素的监听事件。

利用chrome浏览器进行js调试并找出元素绑定的点击事件详解

第三步:找到你所需要的监听事件的类型,比如我需要的是点击事件,就打开点击事件,找到对应的js和方法,可能会有多个,可以选择临时移除,找到真正的那一个。

利用chrome浏览器进行js调试并找出元素绑定的点击事件详解

第四步:找到该段代码,设置断点。开始调试执行。

利用chrome浏览器进行js调试并找出元素绑定的点击事件详解

利用chrome浏览器进行js调试并找出元素绑定的点击事件详解

第五步:其他事件类似,按照此步骤即可。

常用调试快捷键

F8:运行剩余程序

F9:运行该程序,一步步运行。

F10:调试跳过该方法,执行下一步

F11:进入函数内部

shift +F11:跳出该函数,返回上一个函数

don't pause on exceptions :不要暂停异常(默认,取消之后按F8可以直接运行到异常处)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JavaScript 学习 - 提高篇
Feb 02 Javascript
jQuery 使用手册(一)
Sep 23 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
Dec 06 Javascript
jquery加载图片时以淡入方式显示的方法
Jan 14 Javascript
js脚本分页代码分享(7种样式)
Aug 19 Javascript
javascript移动开发中touch触摸事件详解
Mar 18 Javascript
javascript的replace方法结合正则使用实例总结
Jun 16 Javascript
iscroll.js滚动加载实例详解
Jul 18 Javascript
jQuery图片加载失败替换默认图片方法汇总
Nov 29 jQuery
彻底揭秘keep-alive原理(小结)
May 05 Javascript
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
Apr 30 jQuery
TypeScript魔法堂之枚举的超实用手册
Oct 29 Javascript
Vue中android4.4不兼容问题的解决方法
Sep 04 #Javascript
element-ui 上传图片后清空图片显示的实例
Sep 04 #Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
Sep 04 #Javascript
Angular使用cli生成自定义文件、组件的方法
Sep 04 #Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
Sep 04 #Javascript
使用elementUI实现将图片上传到本地的示例
Sep 04 #Javascript
element UI upload组件上传附件格式限制方法
Sep 04 #Javascript
You might like
如何解决CI框架的Disallowed Key Characters错误提示
2013/07/05 PHP
浅析PHP的ASCII码转换类
2013/07/05 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
2014/04/30 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
PHP邮箱验证示例教程
2016/06/01 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
javascript Array对象基础知识小结
2010/11/16 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
js中的for如何实现foreach中的遍历
2014/05/31 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
2015/11/24 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
2017/03/23 jQuery
解决Mac node版本升级失败的问题
2018/05/16 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
2018/12/24 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
2020/02/19 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
mpvue 项目初始化及实现授权登录的实现方法
2020/07/20 Javascript
jQuery实现简单评论区功能
2020/10/26 jQuery
vue中echarts的用法及与elementui-select的协同绑定操作
2020/11/17 Vue.js
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
js实现有趣的倒计时效果
2021/01/19 Javascript
python基础教程之自定义函数介绍
2014/08/29 Python
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
Python 中的lambda函数介绍
2018/10/10 Python
python使用magic模块进行文件类型识别方法
2018/12/08 Python
Python实现图片批量加入水印代码实例
2019/11/30 Python
详解Django ORM引发的数据库N+1性能问题
2020/10/12 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
解决pycharm不能自动保存在远程linux中的问题
2021/02/06 Python
打架检讨书300字
2014/02/02 职场文书
公司管理制度范本
2015/08/03 职场文书
浅谈@Value和@Bean的执行顺序问题
2021/06/16 Java/Android
Python初学者必备的文件读写指南
2021/06/23 Python