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