如何禁用Kendo ListView中的项目?

我正在尝试禁用我的Kendo listview控件中的项目。 我试过打电话

$('#itemid').prop('disabled', true); 

但它没有效果(它是一个div ,而不是input )。 我不希望用户能够点击此项目。 我还尝试获取click事件处理程序并暂时将它们放在一边,从而禁用控件。

 $('#itemid').data('events') 

…应该给我这些事件,但它什么都不返回。 如何禁用列表视图中的项目?

目前,Kendo UI并未真正支持此function。 选择在Selectable的_tap方法中清除。 你可以通过覆盖kendoSelectable的_tap方法来解决一些问题,例如:

 kendo.ui.Selectable.fn._myTap = kendo.ui.Selectable.fn._tap; kendo.ui.Selectable.fn._tap = function(e) { if ($(e.target).hasClass("my-disabled-item")) { return; } this._myTap(e); } 

并向ListView添加disableItem方法:

 kendo.ui.ListView.fn.disableItem = function(elem) { $(elem).addClass("my-disabled-item"); } 

查看此处禁用前两项的演示: http : //jsfiddle.net/lhoeppner/vP2L9/

请注意,所有这些都可能会因升级而中断(无法保证Telerik会将此代码保留在_tap方法中)。