Javascript click() 方法在 Microsoft Edge 上不起作用

问题描述 投票:0回答:1

我一直在尝试使用下面的代码在页面加载时触发点击事件

window.onload = function () {
    var click = document.querySelector('li[data-filter=".architecture"]');
    
    if(click) {
        click.click()
    }
    
}

在 chrome 中,上面的代码工作得很好,尽管在 microsoft Edge 中,click() 方法由于某种原因似乎不起作用。 执行 console.log 它会在我尝试过的所有浏览器(包括 Microsoft Edge)中显示该元素,并且它们不会显示任何错误。

Microsoft Edge 版本:124.0.2478.67(官方版本)(64 位)

javascript
1个回答
0
投票

onload` 事件会等待整个页面(包括其样式表、图像、子框架和其他资源)在执行 JavaScript 代码之前完全加载,这可能会导致出现一些问题,例如您提到的问题。延迟也可能是一个因素

您可能想尝试更现代的方法,例如

DOMContentLoaded

这是对您的代码的修订,可能对您有用:

document.addEventListener('DOMContentLoaded', function () {
    var click = document.querySelector('li[data-filter=".architecture"]');
    
    if (click) {
        click.click();
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.