如何确定jQuery绑定事件的位置?-灵析社区

七厦

百度首页的“百度一下”按钮是怎么绑定的点击(click)事件的? 其中一种是使用标签,这种会刷新整个页面。 ![](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240926/a7519cde9cbe498949a4c9ce8f0f2297.png)![](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240926/ee07340f0bf84230cfeb9e74da776d51.png) 我想知道的是第二种。在点击“百度一下”按钮后,会进行异步刷新,代码会进入到jquery中,但是我没有找到到底是怎么实现监听的?然后这种实现绑定,的流程也不怎么懂 ![](https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240926/d78b6cb79f5e7c67612236e43556cdb1.png) jquery中的这段代码 (f = y.handle) || (f = y.handle = function(e) { return typeof ct === Y || e && ct.event.triggered === e.type ? t : ct.event.dispatch.apply(f.elem, arguments) } **是怎么绑定到按钮上的?或者有大佬可以告知绑定的位置** 。百度这个是进行测试,最想知道的是有没有办法在不使用按钮点击的情况下直接调用按钮所绑定的逻辑代码,比如 `ct.event.dispatch.apply(f.elem, arguments)`。谢谢大家

阅读量:192

点赞量:0

问AI
他不一定是"绑定到按钮上的",这可能是绑定到祖先元素上的,比如body和document,通过事件捕获和事件冒泡来传递。 你发出来的代码相当于事件处理器,所有的事件都会触发这段代码的运行,比如click、mousedown、focus等等,而且所有的元素也都会触发这段代码。 "ct.event.dispatch.apply"应该是他手动触发事件的代码,他对外暴漏了一个api,是trigger,你可以通过$("#input").trigger("focus")的形式触发事件,在原生中是dispatchEvent。但这都需要先绑定事件,才能在触发对应的事件后运行事件回调。 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240926/55934c590548291423f7c3f1a8755d2e.png)