html - 如何扩展 html5
问题描述
在 HTML5 中,我们可以定义我们想要的任何元素,例如:
<mycustomlabel attr1="...">
<!-- contents whatsoever -->
</mycustomlabel>
现在我想<mycustomlabel>
看起来和感觉就像一个正常的<label>
. 对于外观部分,我可以依赖 CSS,我可以充实大量 CSS 规则,使其看起来像<label>
.
但是a<label>
也有一个非常具体的行为,我希望看到克隆<mycustomlabel>
:当它获得焦点时,它的第一个可聚焦的孩子获得焦点。此外(更重要的是)如果它被点击,那个孩子就会得到点击。
我可以在 javascript 中编写所有这些行为(除了不确切知道a有哪些特殊行为<label>
,但知道我的新自定义元素的行为应该完全一样<label>
)。但是我讨厌重复代码,而且所有的实现细节都隐藏在浏览器的某个地方。
那么我怎样才能让我的自定义元素有点延伸<label>
呢?