比如有如下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/');
});
$(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);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。