See this JSFiddle进行错误演示。为方便起见,我还将在下面提供解释。
这是一个可以重现错误的示例代码段(仅限Chrome)。
div{
width:100px;
height:100px;
display:inline-block;
}
#testing{
background-color:blue;
cursor:-moz-grab;
cursor:-webkit-grab;
cursor:grab;
}
#testing:active{
cursor:-moz-grabbing;
cursor:-webkit-grabbing;
cursor:grabbing;
}
#testing2{
background-color:green;
}
#testing2:active{
background-color:yellow;
}
<div id='testing'></div>
<div id='testing2'></div>
1)运行代码段。将鼠标悬停在蓝色框上,然后单击并拖动。它应该按预期工作(光标应该改为手动悬停,然后拖动点击并拖动)。
2)打开控制台。(ctrl + shift + i)
3)切换到新标签页。
4)切换回此标签。
5)现在尝试拖动蓝色框。
(在我的设备上,至少),行为会发生变化;它只会在鼠标上升后更改为拖动光标,只要鼠标移动到最轻微的位置,它就会返回到原始手形光标。
该错误会立即消失
6)关闭控制台。
请注意,单击并拖动绿色框(单击时将变为黄色)即使在打开控制台的情况下切换选项卡后也能正常工作。这让我相信这个bug与游标有关。
是的,我知道这是一个小错误;然而,它让我大约半小时的挫折感,因为我在工作时保持控制台打开。直到我重新启动chrome,它再次开始正常工作,我才能将它追溯到控制台。
在Chrome中,当控制台处于打开状态且用户切换标签时,更改活动光标的元素将无法正常运行。
任何人都可以重现这个错误/解释为什么会发生这种情况吗?