我正在尝试禁用我的Kendo listview控件中的项目。我试过打电话
$('#itemid').prop('disabled', true);
但它没有效果(它是div
,而不是input
)。我不希望用户能够点击此项目。我还尝试获取click事件处理程序并临时将它们放在一边,从而禁用控件。
$('#itemid').data('events')
...应该给我这些事件,但它什么都不返回。如何禁用列表视图中的项目?
答案 0 :(得分:1)
目前,Kendo UI并不支持此功能。选择在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方法中)。