0

例があります。Backbone.js で剣道 ui グリッドが追加されます。剣道の ui グリッドには、行を削除するボタンがありますが、ボタンはモバイル デバイスでは機能しません。ボタンを繰り返し押すと、時々動作します。なんで?ボタンを kendoGrid.columns で次のように宣言します。

{
command: [{
     name: "destroy",
     text: "Remove",
     className: "ob-delete"
}

行を削除し、ボタンがクリックされたときに何かを行うには:

$(document).on("click", ".grid tbody tr .ob-delete", function (e) {
    var item = grid.dataItem($(this).closest("tr"));
    var check = confirm("Delete");
    if (check) {
        grid.removeRow($(this).closest("tr"));
    }
}); 

完全な例

編集:

私は剣道UIバージョンを使用しています: 2012.3.1114

4

1 に答える 1

1

モバイルとクリック イベントは親友ではありません。

このコードでは、Kendo のビルトイン クリック イベントを発生させない .ob-delete クラスを持つ Html 要素にクリックを追加しています。代わりに、このデモに示されているカスタム コマンドとして削除メソッドを実装してみてください: http ://demos.kendoui.c​​om/web/grid/custom-command.html

     $(document).ready(function () {
                var grid = $("#grid").kendoGrid({
                    dataSource: {
                       pageSize: 10,
                       data: createRandomData(50)
                    },
                    pageable: true,
                    height: 260,
                    columns: [
                        { field: "FirstName", title: "First Name" },
                        { field: "LastName", title: "Last Name" },
                        { field: "Title" },
                        { command: { text: "View Details", click: showDetails }, title: " ", width: "140px" }]
                }).data("kendoGrid");

                wnd = $("#details")
                    .kendoWindow({
                        title: "Customer Details",
                        modal: true,
                        visible: false,
                        resizable: false,
                        width: 300
                    }).data("kendoWindow");

                detailsTemplate = kendo.template($("#template").html());
            });

            function showDetails(e) {
                e.preventDefault();

                var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
                wnd.content(detailsTemplate(dataItem));
                wnd.center().open();
            }
        </script>

または、カスタム コマンドが必要ない場合は、このデモに示されているように、デフォルトの削除イベントを試してください。 http://demos.kendoui.c​​om/web/grid/editing-inline.html

于 2013-02-17T03:11:23.637 に答える