0

Kendo リストビュー コントロールのアイテムを無効にしようとしています。電話してみた

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

しかし、効果はありませんでした(divではなくinputです)。ユーザーがこのアイテムをクリックできないようにします。また、クリックイベントハンドラーを取得して一時的に脇に置いて、コントロールを無効にしようとしました。

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

...イベントを提供するはずですが、何も返されません。リストビューでアイテムを無効にするにはどうすればよいですか?

4

1 に答える 1

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);
}

DisableItem メソッドを ListView に追加します。

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

ここで最初の 2 つの項目が無効になっているデモを参照してください: http://jsfiddle.net/lhoeppner/vP2L9/

これらすべてがアップグレードで壊れる可能性があることに注意してください (Telerik がこのコードを _tap メソッドに保持するという保証はありません)。

于 2013-11-15T03:35:15.310 に答える