2014-02-28 41 views
2

我正在使用Chrome DevTools来调试JavaScript。在我的脚本中,我使用jQuery bind()方法将单击事件绑定到元素。 如何检查该事件是否被解雇?如何检查一个事件是否被解雇?

编辑
对不起,因为我没有那么具体,我知道我可以使用console.log()或设置事件监听体内断点。我在这里讨论的是Chrome DevTools的一个开箱即用功能,它允许您在不使用控制台的情况下检查该控制台,例如包含所有与相关信息一起触发的事件的选项卡。

+0

通过警报(),您可以检查事件火灾或不 –

+2

使用'的console.log(“解雇”)'在你的处理器 –

+0

您可以使用布尔全局变量,它设置为false声明,使其真正在处理 – Adil

回答

5

关于Chrome,请通过命令行API检出monitorEvents()。

  • 通过菜单>工具> JavaScript控制台打开控制台。
  • 输入monitorEvents(window);
  • 查看控制台的事件

    ... 
    mousemove MouseEvent {dataTransfer: ...} 
    mouseout MouseEvent {dataTransfer: ...} 
    mouseover MouseEvent {dataTransfer: ...} 
    change Event {clipboardData: ...} 
    ... 
    

里有documentation其他例子淹没。我猜这个功能是在上一个答案之后添加的。

4

使用console.log()更多的用户友好的检查(控制台必须打开当然看到的结果):

$("#myElement").bind("click", function() { 
    console.log("Fired!"); 
}); 

,或者提醒它,这是更是烦人寿:

$("#myElement").bind("click", function() { 
    alert("Fired!"); 
}); 
+1

警报真的很烦人。 – asprin

0

我通常使用警报(因为我们在Rails上开发 - 控制台不可靠):

$(document).on("event", "#element", function() { 
    alert("event"); 
}); 

底线是你将不得不触发一些“可见”的事情,看看事件是否被解雇。如果没有,你要么没有绑定到正确的元素,或者你的事件不会被触发

希望这有助于!

0

使用jQuery尝试以下操作:

$("#el").on("click", function() { 
    console.log("Fired!"); 
}); 

然后你可以看到,如果事件被触发与否。所以基本上只需在你的触发事件触发的函数中添加一个日志即可。

0

您可以将“alert('message');”在你的事件处理程序中,每次处理程序触发时都会看到一个弹出窗口 或者你可以把“console.log('message');”在您的事件处理程序中查看日志以查看事件触发的所有时间。 或者您可以在您的事件处理程序中放置“调试程序”,并在Chrome调试程序中执行代码时逐步执行代码。 还有一种方法可以动态查找事件处理程序,并使用chrome dev工具元素面板在代码中插入调试程序断点。

0

你可以尝试下面的代码来检查事件是否触发。

var eventFire = false; 

$("button").on("click", function() { 
    eventFire = true; 
if(eventFire){ 
    alert('Event Fired') 
} 
});