禁用手动键盘输入 JavaScript/Oracle JET

Disable a manual keyboard input JavaScript/Oracle JET

我正在使用 Oracle JET 框架开发应用程序,并且我正在使用 Oracle JET Cookbook 中所示的组合框输入。

如何禁用手动键盘输入?

我试图在我的输入中添加这个,但是这个命令的 none 起作用了:

onkeypress="return false;"
onkeydown="return false"



<input id="combobox" list="browsers" 
       data-bind="ojComponent: {component: 'ojCombobox', 
                                multiple: true, value: val,
                                rootAttributes: {style:'max-width:20em'}}"/>
<datalist id="browsers">
    <option value="Internet Explorer">Internet Explorer</option>
    <option value="Firefox">Firefox</option>
    <option value="Chrome">Chrome</option>
    <option value="Opera">Opera</option>
    <option value="Safari">Safari</option>
</datalist>

谢谢

正如 Quentin 在评论部分提到的,combobox 的目的是提供文本输入和下拉菜单的组合。

您可以使用 <oj-select-one> 组件来满足您的要求。

<oj-select-one id="basicSelect" value="{{val}}" style="max-width:20em">
   <oj-option value="IE">Internet Explorer</oj-option>
   <oj-option value="FF">Firefox</oj-option>
   <oj-option value="CH">Chrome</oj-option>
   <oj-option value="OP">Opera</oj-option>
   <oj-option value="SA">Safari</oj-option>
</oj-select-one>

这里是 link 组件演示 Oracle Jet SelectOne Menu Demo

不确定它在您使用的 jet 版本中如何,但如果您只想使用 comboxbox 进行操作,那么在 jet 5.1 中这是有效的

<oj-combobox-one id="student" 
    value="{{selectedStudent}}" options="[[studentOptions]]"
    onkeydown="return false;">
</oj-combobox-one>

使用 onkeydown = "return false;" 作为组件中的属性之一。

    `<oj-combobox-one id="combobox" value="{{val}}"
        style="max-width:20em" onkeydown="return false;">
        <oj-option value="Internet Explorer">Internet Explorer</oj-option>
        <oj-option value="Firefox">Firefox</oj-option>
        <oj-option value="Chrome">Chrome</oj-option>
        <oj-option value="Opera">Opera</oj-option>
        <oj-option value="Safari">Safari</oj-option>
     </oj-combobox-one>`

您可以在这里尝试: https://www.oracle.com/webfolder/technetwork/jet-400/jetCookbook.html?component=comboboxOne&demo=single