Kendo ui 阻止删除键在剑道列表框上工作
我正在使用MVVM在Razor页面上使用剑道。在特定页面上,我有一对列表框。我想阻止用户使用delete键从框中删除项目 如果我捕获并阻止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
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)