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://.com/');
});
$(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);
使用火狐,打开开发者工具,找到你要的DOM元素,旁边有个ev,点击它。
我专门为些写了一篇全面的文章,相信是你需要的答案:#宝哥教你#查看jquery绑定的事件函数