HTML5 label 显式、隐式联系

label 标签有两个属性,分别是 for 与 accesskey。

for

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label

The ID of a labelable form-related element in the same document as the label element. The first such element in the document with an ID matching the value of the for attribute is the labeled control for this label element.

在相同文档中作为标签元素的一个可以被标记的表单相关的元素ID。在该文档中符合该属性值的第一个ID的元素就会被标记为该标签的元素。

accesskey

https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/accesskey

The accesskey global attribute provides a hint for generating a keyboard shortcut for the current element. This attribute consists of a space-separated list of characters (one single Unicode code point). The browser uses the first one that exists on the computer keyboard layout.

该快捷键的全局属性提供了一个为当前元素生成一个键盘快捷键的提示。该属性由一个以空格分隔的字符串组成(一个单一的Unicode 码点)。浏览器会使用计算机键盘布局上存在的第一个。

The operation to activate the accesskey depends on browser and its platform.

激活快捷键的操作视浏览器和它所在的操作系统而定。

这里写图片描述

Note that Firefox can customize the required modifier key by user’s preferences.

注意:火狐浏览器可以通过用户偏好来自定义所需的辅助按键。

补充说明

要将 label 绑定到其它的控件,请将 label 元素的 for 属性设置为与该控件的 id 相同。如果用户单击 label,会先触发 label上的 onclick 事件,然后触发由 for 属性所指定的控件上的 onclick 事件。按下 label 设定的快捷键将设置焦点但并不触发 onclick 事件。

代码实战

<!DOCTYPE HTML>
<html>
<meta charset="utf8">
<style>
    div {
        float: left;
        margin-left: 10px;
    }
</style>
<body>
    <h3>点击文字,输入框获取焦点</h3>
        <div>
        <label for="text1" accesskey="x" onclick="onLabel1Click()">显式的联系<u>X</u></label>
        <input type="text" id="text1" onclick="onInput1Click()">
        <p id="debug1"></p>
    </div>
    <div>
        <label accesskey="y" onclick="onLabel2Click()">隐式的联系<u>Y</u><input type="text" onclick="onInput2Click()"></label>
        <p id="debug2"></p>
    </div>
    <script>
        function onLabel1Click() {
            var p = document.querySelector("#debug1");
            p.innerHTML = "label click<br>";
        }
        function onInput1Click() {
            var p = document.querySelector("#debug1");
            p.innerHTML += "input click";
        }

        function onLabel2Click() {
            var p = document.querySelector("#debug2");
            p.innerHTML = "label click<br>";
        }
        function onInput2Click() {
            var p = document.querySelector("#debug2");
            p.innerHTML += "input click";
        }
    </script>
</body>
</html>

这里写图片描述

可以看到

  • 显式联系时,用户单击<label>,会触发对应的<input>元素的onclick事件
  • 隐式联系时,用户单击<label>,对应的<input>元素只是取得焦点,并不会触发的onclick事件
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AUTOSAR(AUTomotive Open System ARchitecture)是一种开放的汽车系统架构,旨在促进汽车电子系统的标准化和模块化开发。RTE(Runtime Environment)是AUTOSAR架构中的一个重要组成部分。 在AUTOSAR架构中,RTE有两种形式:显式(explicit)和隐式(implicit)。这两种形式指的是RTE生成的源代码的不同方式。 显式RTE是通过使用AUTOSAR软件组件(SW-C)的接口来生成源代码。它仅生成SW-C接口的源代码,通过这些源代码,可以实现SW-C之间的数据交换、事件触发等通信机制。显式RTE生成的源代码可以很清晰地表达出SW-C之间的通信关系,便于理解和调试。但是,显式RTE生成的源代码比较庞大,容易导致可读性和可维护性的问题。 隐式RTE是通过使用配置文件来生成源代码。配置文件中包含了SW-C的接口信息和通信关系定义。隐式RTE根据配置文件来生成源代码,这样可以减小源代码的体积。隐式RTE生成的代码较为简洁,但是对于代码的理解和调试较为困难。 选择使用哪种形式的RTE取决于具体的应用场景和需求。如果需要对代码进行深入理解和调试,那么显式RTE可能更适合;如果追求代码的简洁和效率,那么隐式RTE可能更加合适。 总的来说,AUTOSAR RTE的显式隐式形式都有各自的优势和劣势,根据具体的需求选择合适的形式可以更好地利用AUTOSAR架构的优势,实现高效的汽车电子系统开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值