2

为什么MouseEvent.toElement返回Node

我假设它应该返回Element,或者该方法应该重命名为 toNode。

就目前而言,当我编写以下内容时,让飞镖编辑器警告我访问样式属性并不理想:

event.toElement.style.textDecoration = "line-through";
4

1 回答 1

1

我相信调用它是toElement()为了使其与我们在 DOM/JavaScript 领域中已有的内容保持一致。它很早以前就被微软命名了,现在已经被多个浏览器所采用。所以,我认为在 Dart 中我们希望保持相同的名称。

但是,我们是否应该将其注释为 returnNodeElement,这是一个很好的问题。我相信在几乎所有(如果不是全部)情况下,返回的对象确实是一个Element,如果它被键入返回一个会更好Element。但是,可能存在实际返回 a 的极端情况Node(请记住,元素扩展节点)。通过快速测试,我找不到任何这样的案例。也许与手动事件触发。

也许这个选择背后的 Dart 工程师可以给我们一些启示。

于 2013-02-09T15:30:59.147 回答