首页 > 解决方案 > 如何扩展 html5

问题描述

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

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

现在我想<mycustomlabel>看起来和感觉就像一个正常的<label>. 对于外观部分,我可以依赖 CSS,我可以充实大量 CSS 规则,使其看起来像<label>.

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

我可以在 javascript 中编写所有这些行为(除了不确切知道a有哪些特殊行为<label>,但知道我的新自定义元素的行为应该完全一样<label>)。但是我讨厌重复代码,而且所有的实现细节都隐藏在浏览器的某个地方。

那么我怎样才能让我的自定义元素有点延伸<label>呢?

标签: htmllabel

解决方案


推荐阅读