gpt4 book ai didi

javascript - chrome 71 不会在 onclick 事件中检测到 id,除非它是 this.id

转载 作者:行者123 更新时间:2023-11-29 18:46:18 26 4
gpt4 key购买 nike

我有一个这样的 html 元素:

<select id="myselect" onclick="jsDoSomething(id)"><option>1</option><option>2</option></select>

在 Chrome 70 之前,一切正常,在 Chrome 71 中,jsDoSomething 函数中的 id 为 null。我必须将其更改为 this.id 才能使其正常工作。这是 Chrome 71 的错误还是...功能?

提前谢谢你。

编辑:这发生在 selecta 标签上,但不会发生在 button 标签上。

编辑 2:jsfiddle:http://jsfiddle.net/5L0djvqy/10/

最佳答案

从这里开始:

https://html.spec.whatwg.org/multipage/webappapis.html#the-event-handler-processing-algorithm

Scope

If eventHandler is an element's event handler, then let Scope be NewObjectEnvironment(document, the global environment).

Otherwise, eventHandler is a Window object's event handler: let Scope be the global environment.

If form owner is not null, let Scope be NewObjectEnvironment(form owner, Scope).

If element is not null, let Scope be NewObjectEnvironment(element, Scope).

所以看起来这种行为是标准的(令人惊讶的是,我从来没有这样做过)所以在 Chrome 上似乎有些问题。

但是,我在 Linux 上的 Chrome 71 上测试了一个简单的代码,我得到了“预期”的结果。也许您的 HTML 结构在某处损坏,并且该元素不是当前的选择框

关于javascript - chrome 71 不会在 onclick 事件中检测到 id,除非它是 this.id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53740067/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com