仅仅是出于好奇——我在之前的问题中被钉住了,因为我试图把按钮放在一个锚定的图像中。我看了文件和其他问题,虽然每个人都说不应该这样做,但他们没有说为什么。
甚至文档http://www.w3.org/TR/html5/text-level-semantics.html#the-a-element也声明锚内不应该有交互内容,但没有告诉我原因。
有谁知道为什么这样做是一种可怕的做法吗?
想象一下这种情况:
<a href="http://google.com">
<select>
<option>V1</option>
<option>V2</option>
</select>
</a>
现在,当你按下select
元素,这些动作将生效(按顺序):
- 打开选择下拉菜单
- 将
click
事件泡给父级(本例中为<a>
)。 -
<a>
元素跟随它的href
值(此时您离开当前页面)。 - (人体延迟后)您将选择所需选项(但您已离开网站)