如何在空格键按下时打开剑道下拉菜单

Posted

技术标签:

【中文标题】如何在空格键按下时打开剑道下拉菜单【英文标题】:How to open kendo dropdown on space key press 【发布时间】:2016-02-27 22:37:50 【问题描述】:

我在我的一个项目中使用剑道下拉菜单,但遇到了问题。在正常的 html 选择中,当我们在焦点上按下空格键时,它会显示选项。我需要在 kendo 下拉列表中实现相同的功能,我尝试过 keypress,但它不起作用我尝试过的代码如下

   $("#container").on("keypress", function (e) 
      if (e.keyCode === 0 || e.keyCode === 32) 
              alert("hi")
          
    );

我知道它很垃圾,但我对实现该功能没有任何其他想法。如果我该怎么做,是否可以在剑道下拉菜单中实现此功能

【问题讨论】:

【参考方案1】:

在呈现剑道下拉菜单后,它会将select 放入容器中。

<span title="" class="k-widget k-dropdown k-header" >
     <span unselectable="on" class="k-dropdown-wrap k-state-default">
          <span unselectable="on" class="k-input">Small</span>
          <span unselectable="on" class="k-select">
               <span unselectable="on" class="k-icon k-i-arrow-s">select</span>
          </span>
      </span>
      <select id="select" placeholder="Select size..." style="width: 100%; display: none;" accesskey="w" data-role="dropdownlist">
           <option value="X-Small">X-Small</option>
           <option value="Small" selected="selected">Small</option>
           <option value="Medium">Medium</option>
           <option value="Large">Large</option>
           <option value="X-Large">X-Large</option>
           <option value="2X-Large">2X-Large</option>
      </select>
</span>

keydown 将在容器上触发:-

$("#select").kendoDropDownList();
$("#select").parent().on("keydown", function(e)
    if (e.keyCode === 0 || e.keyCode === 32) 
          $('select', this).data("kendoDropDownList").open();
    
);

dojo

【讨论】:

以上是关于如何在空格键按下时打开剑道下拉菜单的主要内容,如果未能解决你的问题,请参考以下文章

按下选项卡时如何在焦点上打开 select2 下拉菜单

剑道网格单元模板中的引导下拉菜单

剑道值超越带有 optionLabel 的下拉列表

带菜单的 QPushButton - 从右侧下拉

按下后退按钮时,自动折叠移动设备上的下拉导航栏菜单

如果空格键在所有浏览器中打开下拉菜单,为啥我的 onchange 触发菜单被认为无法访问