前言

最近在使用一个前端表格时,发现它的选中行高亮太不明显了,准备修改一下对应样式:

如何调试CSS Hover事件_开发者工具

但是,如果打开开发者工具调试样式,发现又没办法触发Hover事件,找不到具体的样式。

怎么办呢?

思路

如果能为Hover事件处理代码加上断点,运行到断点时中断就好了。

但这显然是个悖论,如果我们都能手工定位Hover事件代码了,还需要断点啥事。

不过,虽然我们没法手工打断点,但是JavaScript确实有一个帮我们自动打断点的帮手,​​debugger 语句​​:


debugger 语句用于停止执行 JavaScript,并调用 (如果可用) 调试函数。

使用 debugger 语句类似于在代码中设置断点。

通常,你可以通过按下 F12 开启调试工具, 并在调试菜单中选择 "Console" 。

注意:如果调试工具不可用,则调试语句将无法工作。


实现

现在的关键是,怎么在Hover事件中执行debugger语句?

实现很简单,打开开发者工具,在控制台中编写以下内容:

setTimeout(() => {debugger;}, 3000)

然后将鼠标悬停到需要的位置,直到中断即可:

如何调试CSS Hover事件_javascript_02

结论

其实,我们是利用了JavaScript是单线程的这一特点。

使用setTimeout激活了调试工具,它将阻止浏览器执行其它函数,包括对DOM进行更新,相当于中断了Hover事件。

想了解更多内容,请关注我的个人公众号”My IO“