为什么HTML 5没有内置的可编辑组合框或本地菜单?

aka*_*okd 26 javascript html5

我想知道,在新的HTML 5中,我们将获得<audio>和<video>标签,但为什么不是原生的可编辑组合框并内置本地菜单支持?

我之所以这么说是因为当我必须为典型的基于表的应用程序(例如订单管理应用程序)设计Web解决方案时,这些是我遇到的最常见的问题.在适当的客户端应用程序上,我可以使用操作系统提供开箱即用的这些功能(例如JPopupMenu,JComboBox).对于webapp,我必须寻找javascript(库)来完成类似的事情.

为什么这些不在HTML 5中?

我知道我应该像问题一样避免讨论,所以这里还有一些问题:你是否知道可以廉价地执行弹出菜单和可编辑组合框的库(可能只有一个小代码示例)?

Ann*_*nne 58

实际上,可以使用input元素上的新list属性创建可编辑的组合框或仅组合框.它指向一个datalist元素,它可以提供预定义选项的列表:

<input list=languages>
<datalist id=languages>
 <option value="English"></option>
 <option value="Dutch"></option>
</datalist>
Run Code Online (Sandbox Code Playgroud)

对于菜单,旧的菜单元素已被重用.

您可以在IE> = 10,Firefox> = 37,Chrome> = 39,Opera> = 29中至少使用datalist.来自caniuse datalist的数据.关于menu元素,只有Firefox似乎对它有部分支持.

  • datalist 是一个很差的替代品,因为它作为自动完成机制工作。因此,如果输入字段中已有内容,则弹出窗口中只会显示列表中的匹配项目。因此,除非您先清除该字段,否则您无法看到您的选择。 (3认同)
  • 免责声明:我在 HTML5 上的 Opera 工作(除其他外)。 (2认同)