锚点标记的点击事件正在点火,但默认不是

时间:2017-02-19 22:08:00

标签: javascript html css anchor

我有一个无线电输入的锚标签。当我点击它们时,单选按钮会被选中,但是锚标记没有做任何事情。

<a href="https://stackoverflow.com">
  <input type="radio" />
</a>

我尝试在锚标记中添加一个onclick处理程序,以查看它是否被点击并且按预期工作:

<a onclick="console.log('anchor clicked');" href="https://stackoverflow.com">
  <input type="radio" />
</a>

这也向我展示了锚标记被点击两次所以我将event.stopPropagation添加到输入标记:

<a onclick="console.log('anchor clicked');" href="https://stackoverflow.com">
  <input onclick="event.stopPropagation();" type="radio" />
</a>

1 个答案:

答案 0 :(得分:2)

它的html5无效。根据{{​​3}},main元素的内容模型表明它不能将交互式内容作为后代。非隐藏a是互动内容。