Joh*_*man 554 javascript google-chrome-devtools
我在库的页面上有一个可自定义的表单元素.我希望看到当我与它交互时会触发哪些javascript事件,因为我试图找出要使用的事件处理程序.
如何使用Chrome Web Developer完成此操作?
Mat*_*att 827
同样,你可以右键点击目标元素 - >选择"检查元素"向下滚动的开发框架的右侧,底部是"事件侦听器".展开树以查看附加到元素的事件.不确定这是否适用于通过冒泡处理的事件(我猜不是)
Mar*_*ski 774
您可以使用monitorEvents函数.
只需检查您的元素(right mouse click→ Inspect在可见元素上或转到ElementsChrome开发者工具中的标签并选择想要的元素)然后转到Console选项卡并写入:
monitorEvents($0)
Run Code Online (Sandbox Code Playgroud)
现在,当您将鼠标移到此元素上,焦点或单击它时,将显示已触发事件的名称及其数据.
要停止获取此数据,只需将其写入控制台:
unmonitorEvents($0)
Run Code Online (Sandbox Code Playgroud)
$0只是Chrome开发者工具选择的最后一个DOM元素.您可以在那里传递任何其他DOM对象(例如,getElementById或的结果querySelector).
您还可以将事件"type"指定为第二个参数,以将受监视事件缩小到某个预定义集.例如:
monitorEvents(document.body, 'mouse')
Run Code Online (Sandbox Code Playgroud)
这可用类型的列表是在这里.
我做了一个小gif,说明了这个功能是如何工作的:

Dan*_*ski 19
对于jQuery(至少版本1.11.2),以下过程适用于我.
$._data(($0), 'events');在"控制台"handler:值.现在是时候停止重新发明轮子并开始使用vanilla JS事件...... :)
air*_*nix 15
如果它是一个jquery插件,这不会显示脚本可能创建的自定义事件.例如 :
jQuery(function($){
var ThingName="Something";
$("body a").live('click', function(Event){
var $this = $(Event.target);
$this.trigger(ThingName + ":custom-event-one");
});
$.on(ThingName + ":custom-event-one", function(Event){
console.log(ThingName, "Fired Custom Event: 1", Event);
})
});
Run Code Online (Sandbox Code Playgroud)
Chrome开发人员工具中Scripts下的事件面板不会显示"Something:custom-event-one"
| 归档时间: |
|
| 查看次数: |
372873 次 |
| 最近记录: |