如何扩展html5 <label>元素以制作自定义元素?

时间:2018-06-08 15:45:05

标签: html5 label

在HTML5中,我们可以定义我们想要的任何元素,例如:

<mycustomlabel attr1="...">
    <!-- contents whatsoever -->
</mycustomlabel>

现在我希望<mycustomlabel>的外观和感觉就像普通<label>一样。对于外观部分,我可以依赖CSS,我可以充实大量的CSS规则,使其看起来像<label>

但是一个<label>也有一个非常具体的行为,我希望在<mycustomlabel>中看到克隆:当它获得焦点时,它的第一个可聚焦的孩子会获得焦点。而且(更重要的是)如果点击它,那个孩子就会获得点击。

我可以在javascript中编写所有这些行为(除了不知道完全 <label>有什么特殊行为,但知道我的新自定义元素应该行为完全作为<label>会)。但是我不喜欢复制代码,所有的实现细节都隐藏在浏览器的某个地方。

那么如何让我的自定义元素从<label>延伸?

0 个答案:

没有答案