如何查看 js (jquery) 绑定事件的函数代码
rt
比如有如下html, 使用jquery绑定了一个click事件
在一个陌生网站上,我们知道一个按钮绑定了事件,但是如何才能查看到绑定事件的那块代码呢?
chrome有event listeners,里面的listenerBody貌似可以看到一点原生js写的,
但是jquery写的有时候是定位到jquery源代码里面了...
<a id="apc" href="">x_x</a>
$('#apc').bind('click', function(){
$('#apc').attr('href', 'http://segmentfault.com/');
});
马赛克V5
11 years, 7 months ago
Answers
$(node).data("events")
或
$._data( node, "events" );
反正差不多是类似的方式。你看一下jQuery中Event实现的源码就知道了。不同的版本,这些内部实现会有些不一样,所以得看对应版本源码实现。
Chrome console:
getEventListeners(ele);
举例,你正在访问该问题,然后F12,在Chrome console下运行下面的代码即可:
a=$("#a-1020000000446531 .post-big-vote");
$._data(a[0],"events").click[0].handler.call(a);
一身正气满青楼
answered 11 years, 7 months ago