代码之家  ›  专栏  ›  技术社区  ›  PromZA

按钮没有明显的onclick事件[重复]

  •  -3
  • PromZA  · 技术社区  · 1 年前

    我正在查看似乎没有注册onclick事件的元素。检查DOM时,我还没有找到任何DOM,当你点击它时,事件就会触发。

    一个例子是Linktree配置文件 like this one 它有按钮,当你点击它们时,链接就会被构建并打开,但元素看起来并不像以任何明显的方式指定它。

    我以为按钮元素可能有一些全局事件监听器,但这些元素似乎是通用的,没有“id”标识符,所以我看不出它们是如何链接的。

    这些是使用了一些我不知道的方法,还是一些黑客行为?

    1 回复  |  直到 1 年前
        1
  •  0
  •   Velidan    1 年前

    到目前为止,我看到你提到的按钮肯定有 click 听众。 Click event listener evidence

    不幸的是,源代码被压缩了,所以我不能详细说明它到底做了什么,但我确实相信它肯定有以下选项之一来显示下面的块。

    1. 如果是香草,它可能只是 on the fly 创建元素并将其插入DOM,可能会使用一些选择器来查找并插入元素。 anchor element
    2. 它可以使用任何UI lib/框架通过像React refs这样的lib方法获取元素的引用,并且可以通过virtoual dom和条件呈现来操纵真实dom

    不管怎样,他们使用的条件UI渲染的技术实现是什么并不重要,但他们肯定会使用 点击 事件监听器,也许吧,试着仔细检查DOM。全球事件的可能性是真实的,但我真的不相信有人会这样做,除了一些实验目的:)但即使在这种情况下,Chrome检查器 Event listeners 选项卡将显示它。

    推荐文章