如何知道事件发生时触发了什么函数(或代码片段)
How to know what function (or code snippet) is triggered when an event happens?
我通过使用Firebug工具查看浏览器上的代码来学习HTML和CSS。如果我不能理解他们做什么,我会查找他们的参考资料。我学到了很多。
现在我想以同样的方式学习JavaScript(我只是对JS略知一二)。比方说:
- 我打开一个网页(例如Facebook)
- 我点击页面右上角的设置按钮。它显示了选项列表(帐户设置、隐私设置、注销…)
- 我知道选项框是一个
<ul>
标记,当我单击设置按钮时,它将切换显示/隐藏
据我所知,如果我想测试JS片段(使用Firebug),我必须知道它应该在什么时候运行。但我不是Facebook的开发者,我没有写那个代码,所以我猜不到这一点。
当我"点击"设置按钮时,我如何知道调用了什么功能来显示"选项框"?
这不是一个肯定的答案,但可能有几种方法可以查看是否有函数绑定到元素,以及它们可能做什么的模糊想法。
首先,Chrome的Firebug等价物在右窗格中(按F12,在检查一个元素后,向下滚动到事件监听器部分,它将显示绑定到该元素的函数。
如果你在Firefox上,Firebug有一个名为FireQuery的扩展,它实际上会用指向事件的链接来注释Firebug中的DOM检查器,这同样很有用。
最后,您可能能够在jQueryinlog库中加载,以实际查看jQuery在内部做什么。这可能是最好的选择,因为您不必在任何事情上设置断点。只需正常使用页面,jQuery内部日志就会显示在控制台中。您只需要在要检查的任何页面上注入脚本。在Firefox上,这可以通过Greasemonkey来完成——有关更多详细信息,请参阅在Mozilla Firefox的每个页面上运行自定义Javascript。
除非开发人员使用符合标准的事件处理程序属性,否则这不是一项微不足道的任务。
您单击的元素或它的祖先之一(因为click
事件气泡)具有最确定的标识属性(例如,id
和class
),因此可以很容易地将事件侦听器添加到其中。请注意脚本代码中的事件类型名称(例如,click
)和这些标识属性的值。
如果开发人员使用(通常符合标准)事件处理程序属性或专有事件处理程序特性(如onclick
),则应该在DOM检查器(如Firebug)中看到这些属性的(可点击的)函数值。但现在这种可能性不大了。
- 如何将函数包装在函数中以避免代码重复
- 从var向代码隐藏函数传递值
- 为函数代码编写测试
- 如何简化jquery动画函数代码
- 用于删除数组中的零的Javascript函数代码
- 使用JavaScript中的高阶函数概念,用Python编写纯函数代码
- JQuery each() 函数代码即使在集合中没有元素时也在运行
- javascript.获取javascript函数位置或获取函数代码
- 部分函数代码是't已执行
- 什么'这是jQuery下面函数代码中的错误
- 为什么新函数(代码)比直接执行相同的代码更快
- 如何使用javascript调用ascx函数代码?DotNetNuke
- JQuery函数代码运行不正常
- Node.JS:MongoDB更新回调返回结果,返回函数代码
- 用nodejs在一定时间后运行函数/代码
- Jquery只处理第一个函数/代码块
- 如何确保我的dom操作函数/代码在dom被渲染后被调用
- 在jQuery中获取现成函数代码下面的元素
- Jquery函数返回的函数代码不是值
- 什么是'$(这个)'包含在下面的javascript函数代码中