【发布时间】:2009-10-06 18:18:14
【问题描述】:
你知道我最喜欢突兀的 javascript 吗?当你触发一个事件时,你总是知道它会做什么。
<a onclick="thisHappens()" />
现在每个人都在喝不显眼的kool-aid,这并不那么明显。对绑定事件的调用可以发生在页面中包含的任意数量的 javascript 文件的任意行上。如果您是唯一的开发人员,或者如果您的团队对绑定事件处理程序有某种约定,例如始终使用某种格式的 CSS 类,这可能不是问题。但在现实世界中,很难理解您的代码。
像 Firebug 之类的 DOM 浏览器似乎可以提供帮助,但是浏览一个元素的所有事件处理程序属性以找到一个执行您正在寻找的代码的属性仍然很耗时。即使这样,它通常也只是告诉你这是一个没有行号的匿名函数()。
我发现的用于发现触发事件时执行哪些 JS 代码的技术是使用 Safari 的 Profiling 工具,它可以告诉您在特定时间段内执行了哪些 JS,但有时可能是很多 JS狩猎。
必须有一种更快的方法来找出我单击一个元素时发生的情况。有人可以请教我吗?
【问题讨论】:
-
也会对此非常感兴趣。 :)
标签: javascript event-handling unobtrusive-javascript