白左
千年狐狸
千年狐狸
  • UID34985
  • 注册日期2010-12-29
  • 最后登录2023-11-13
  • 发帖数2039
  • 经验655枚
  • 威望0点
  • 贡献值364点
  • 好评度69点
  • 社区居民
  • 忠实会员
阅读:3004回复:5

新版firebug屌炸的功能:揪出事件订阅者

楼主#
更多 发布于:2013-09-12 17:17
https://getfirebug.com/wiki/index.php/GetEventListeners
https://hacks.mozilla.org/2013/08/fireb ... tListeners


示例页面的源代码如图所示

图片:1.png


在控制台输入getEventListeners($('#holder'))后,一个非匿名订阅和一个匿名订阅全都被揪出来了

图片:2.png


点击控制台超链接后会转到DOM面板,包含订阅者更详细的信息
如果启用脚本面板的话,点击DOM面板的函数超链接还能直接跳转到响应的代码位置


唯一的问题是,要揪的对象必须完全精确才行,如果是在父容器中订阅或者捕获子元素的事件,揪子元素是看不到的,必须得精确把“幕后黑手”放到getEventListeners的括号中才行;不过即使这样应该也很实用了
-いたんですか? -ええ、ずっと
dsyo2008
狐狸大王
狐狸大王
  • UID34824
  • 注册日期2010-12-10
  • 最后登录2022-06-13
  • 发帖数515
  • 经验206枚
  • 威望0点
  • 贡献值86点
  • 好评度11点
  • 社区居民
  • 忠实会员
1楼#
发布于:2013-09-12 17:17
这么厉害。。。
lonely_8
非常火狐
非常火狐
  • UID30273
  • 注册日期2009-09-03
  • 最后登录2022-08-09
  • 发帖数733
  • 经验469枚
  • 威望0点
  • 贡献值86点
  • 好评度147点
  • 社区居民
  • 忠实会员
2楼#
发布于:2013-09-12 17:17
更羡慕opera自带的“检查元素”
它直接将所有事件绑定显示在结构树上,更直观好用
mling
小狐狸
小狐狸
  • UID31557
  • 注册日期2010-01-08
  • 最后登录2019-06-02
  • 发帖数31
  • 经验23枚
  • 威望0点
  • 贡献值4点
  • 好评度1点
3楼#
发布于:2013-09-12 17:17
非常需要可以查看元素被绑定的事件
这个功能太好了!!
viewtheard
千年狐狸
千年狐狸
  • UID2383
  • 注册日期2005-01-20
  • 最后登录2024-05-21
  • 发帖数2012
  • 经验524枚
  • 威望1点
  • 贡献值400点
  • 好评度20点
  • 社区居民
  • 忠实会员
4楼#
发布于:2013-09-12 17:17
知道了也做不了啥事吧,不实用
My Technical Blog: http://art-technical.blogspot.com/
meat
火狐狸
火狐狸
  • UID35020
  • 注册日期2011-01-06
  • 最后登录2024-04-29
  • 发帖数267
  • 经验200枚
  • 威望0点
  • 贡献值106点
  • 好评度16点
5楼#
发布于:2013-09-12 17:17
viewtheard:知道了也做不了啥事吧,不实用回到原帖

绑定事件逆推是说是现在userjs的黎曼猜想。对前端开发本身也是超有用的功能。

如果能点击某个对象就显示它绑定的所有事件就不得了了
游客

返回顶部