javascript 黄昏错误(元素在点(x,y)处不可点击,其他元素将收到点击,[FIX]

kulphzqa  于 2023-10-14  发布在  Java
关注(0)|答案(2)|浏览(68)

我在Laravel Dusk浏览器中有一个错误(即集成)测试,经常发生在Travis CI上,并且无法在本地轻松复制:
元素在点(x,y)处不可单击,其他元素将接收单击。”
这有时是由复选框标签或元素在屏幕外需要滚动到导致的,但在我的问题中不是这样。
在我的例子中,我有一个由div制作的自定义文件夹。当我尝试单击 Package 在div .dropdown中的.dropdown__item时,.dropdown Package 器div接收单击。
如何解决此问题?

kuuvgm7e

kuuvgm7e1#

  • 因为它已经几乎一年没有OP移动他们的修复到一个答案,因为我已经两次几乎点击离开这个问题,而没有意识到解决方案是在问题本身,我决定把它移动到一个答案。

此问题的修复方法是停止dropdown__item上的传播。在Vue 2中,它只是@click.stop="methodName",但在vanilla JS中,它将是event.stopPropagation()

qv7cva1a

qv7cva1a2#

这是我在使用scrollIntoView()将元素按钮滚动到视图中以供单击时遇到的一个长期问题,但将--disable-smooth-scrolling选项添加到DuskTestCase.php似乎永久解决了这个问题:

$options = (new ChromeOptions)->addArguments(collect([
    "--window-size=1920,1080",
    "--ignore-certificate-errors",
    "--disable-smooth-scrolling" // add this
])->unless($this->hasHeadlessDisabled(), function ($items) {
    return $items->merge([
        "--disable-gpu",
        "--headless",
    ]);
})->all());

相关问题