代码之家  ›  专栏  ›  技术社区  ›  Martin Fric

单击后,href不工作

  •  0
  • Martin Fric  · 技术社区  · 6 年前

    我重用了另一个团队的组件,一切看起来都很好。

    所以基本上我认为有些东西在阻止click()事件。由于找不到根本原因,我尝试在其中添加一些自定义单击事件,该事件将从href属性中获取“link”,并将执行以下操作

    window.location.href
    

    然后奇怪的事情发生了。我试着通过特定类的链接进行循环,但什么也没发生。选择器工作,因为我可以在执行以下操作时看到HTML集合:

    console.log(document.getElementsByClassName('link'));
    console.log(document.getElementsByClassName('link').length);
    

    它检索HTMLCollection,我可以看到元素。但第二个日志返回“0”。所以我不能在这一点上操纵这个链接。

    在控制台中,当我展开HTMLCollection时,它有一个“I”标记,表示刚才计算/评估了值。 但当我在chrome控制台中执行相同长度的检查时,它会返回正确的值。

    看起来DOM是在调用我的代码之后被操纵和呈现的。

    请问有人遇到过这样的问题吗?

    但是当我做console.log时

    更新#1

    stop(event) {
        if (event.target.tagName !== 'A') {
          event.preventDefault();
          event.stopPropagation();
        }
    

    这是一个正在停止的事件。但我不认为这是我的情况,因为HTML代码与正在工作的组件完全相同。我只是添加了类来覆盖它

    0 回复  |  直到 6 年前