Kendo ui 阻止删除键在剑道列表框上工作

Kendo ui 阻止删除键在剑道列表框上工作,kendo-ui,kendo-mvvm,Kendo Ui,Kendo Mvvm,我正在使用MVVM在Razor页面上使用剑道。在特定页面上,我有一对列表框。我想阻止用户使用delete键从框中删除项目 如果我捕获并阻止remove事件工作,这就解决了问题,除非您不能使用工具箱或拖放将项目从一个框转移到另一个框(编辑:因为移动是更改和删除事件的组合) 这就是我停止删除事件的方式 <select style="min-width: 600px" id="listboxImports" data-role="listbox" data-text-field="tit

我正在使用MVVM在Razor页面上使用剑道。在特定页面上,我有一对列表框。我想阻止用户使用delete键从框中删除项目

如果我捕获并阻止
remove
事件工作,这就解决了问题,除非您不能使用工具箱或拖放将项目从一个框转移到另一个框(编辑:因为移动是更改和删除事件的组合)

这就是我停止删除事件的方式

<select style="min-width: 600px" id="listboxImports" data-role="listbox"
    data-text-field="title"
    data-value-field="id"
    data-selectable="multiple"
    data-toolbar='{tools: ["transferTo", "transferFrom"]}'
    data-connect-with="listboxSelected"
    data-draggable="true"
    data-template="template"
    data-drop-sources="['listboxSelected']"
    data-bind="source: imports, events: {remove: viewmodel.events.remove}"></select>

<script>
    var viewmodel = new kendo.observable({
        events: {
            remove: function(e) {
                e.preventDefault();
            },
            //
        }
    });
<script/>

var viewmodel=新剑道。可观察({
活动:{
删除:功能(e){
e、 预防默认值();
},
//
}
});
我还尝试捕获delete键的
keydown
事件,但我无法确定在呈现ListBox时呈现的许多元素中的哪一个实际上正在处理该事件


有谁能告诉我怎样才能吃蛋糕吗?

我花了一段时间,灵感来自剑道的多选题:

完整道场:

_keyDown处理程序连接到
    元素。我的解决方案使用将一个新的处理程序附加到其父级,这样处理程序将在剑道之前执行,从而在按下的键被删除时停止事件的传播


    或者,一种可能的解决方法是将
    可导航
    设置为false,但显然会丢失所有键盘功能。示例:

    请给我们看一个你到目前为止所做工作的示例。@FrozenButcher,我已经在原来的postGaloisGirl中添加了一些细节,我的英雄。
      $("#listBoxA").parent().get(0).addEventListener('keydown',  function(e) {
       if (e.keyCode == kendo.keys.DELETE) {
            e.stopImmediatePropagation();  
            e.preventDefault();
          }
     }, true)