哪些HTML标签可以与onClick一起使用?

11

哪些 HTML 标签可以有 onclick 事件,哪些不能?如果有标签无法包含 onclick 事件,我想知道为什么不行。

onclick="func()"

有任何规则需要遵守吗?

2个回答

10
所有HTML元素都可以有一个onclick属性。
请查看HTML 5规范以确认此信息。
当然,某些元素默认情况下不会被呈现,因此您需要使用CSS更改它们的display属性,以便在单击时触发事件处理程序。

在HTML或标题标签中包含一个onClick是没有意义的,但我可以这样做吗? - user2628521
是的,你可以这样做,但不建议这样做,因为它会显得很突兀。 - TylerH
1
这并不是无意义的。HTML元素已经被渲染,因此您可以将事件处理程序绑定到它上面,以便在单击文档的任何部分时触发(如果您想生成页面的热图,则非常有用,尽管我倾向于直接在window对象上绑定)。让标题可点击相当奇怪,但是在样式表中使用head,title {display:block;}将使其成为可能。 - Quentin
@TylerH,那么有哪些元素是推荐和不显眼的呢? - Daniel Bragg
@Dan,大多数在<body>标签下面。 - TylerH
显示剩余2条评论

3
虽然几乎任何元素都可以附加 onclick,但是有些元素在被点击(或者防止点击)方面会有更进一步的支持,而其他元素则没有。请参考此帖子上的评论和结果链接到MDN Web文档来了解更多。其中强烈暗示像 <div><span> 这样的元素不应该用于单击操作,因为它们“本质上不表示任何内容”,“只有当没有其他语义元素适合时才应使用”。最初的回答。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接