如何查看 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/');
});

jquery JavaScript

马赛克V5 11 years, 8 months ago

$(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, 8 months ago

Your Answer