我有一个大项目。有几十个JS文件。我页面上的元素附加了一个点击事件。我想编辑此点击事件,但首先我需要找到它的'档案&线。如何在不知道函数名称或文件名之前做到这一点?有没有办法在firebug中观察元素并记录正在执行的函数?
背景故事:
该元素在单击时添加.open类,并在用户单击其他任何内容时删除。我希望在mouseover上添加.open类,并在mouseout上删除。我想使用在click事件中调用的相同函数,但首先我需要找到它。
感谢。
答案 0 :(得分:2)
如果您使用 jquery 添加事件,您可以在firebug的控制台中使用此代码找到事件的处理程序:
jQuery._data($(".someHTMLelement")[0], "events")
您将在“handler”属性下找到处理程序的位置,只需单击该函数即可跳转到代码中的相应行。
如果你不使用jquery ,而是使用本机addEventListener,你可以使用它:
getEventListeners($(".rs-btn")[1])
该函数将位于属性“listener”
下答案 1 :(得分:0)
如果您既不知道文件名也不知道函数名,则可以使用Firebug的HTML panel's Break On Mutate功能。
可以使用工具栏按钮()为所有元素启用此功能,也可以通过上下文菜单为特定元素和特定操作启用此功能。
启用该选项后,触发导致元素更改的JavaScript。然后,这将在发生更改的行停止脚本执行。