剑道对话无法点击第二个时间

时间:2017-03-20 21:25:51

标签: jquery kendo-ui

我得到了以下代码来展示对话,但是在第一次点击后,对话框不会显示在用户界面中。

$('#wayneDialog').kendoDialog({
            width: '400px',
            title: $scope.resourceString.Delete_Confirm_Title+ "'"+ name +"'?",
            closable: true,
            modal: true,
            content: $scope.resourceString.Delete_confirm_Content,
            actions: [
                {
                    text: $scope.resourceString.Yes,
                    action: $scope.onDeleteConfirm,
                    primary: true
                },
                {
                    text: $scope.resourceString.Cancel
                }
            ]
        }); 

我不确定在这种情况下是否需要做额外的事情。

3 个答案:

答案 0 :(得分:4)

我明白了。 Kendo Dialog在我的调用函数中反复初始化。 更改了代码以仅初始化Kendo Dialog一次,然后在调用Kendo Dialog Open函数之前更新了Title和Dialog。

答案 1 :(得分:0)

我们需要销毁div并在close事件上再次添加它。

$('#wayneDialog').kendoDialog({
            width: '400px',
            title: $scope.resourceString.Delete_Confirm_Title+ "'"+ name +"'?",
            closable: true,
            modal: true,
            content: $scope.resourceString.Delete_confirm_Content,
close: function () {
                    if ($('#wayneDialog').data("kendoDialog")) {
                        $('#wayneDialog').data("kendoDialog").destroy();
                        $('<div id="wayneDialog"/>').appendTo('body');
                    }
                    return;
                }           
 actions: [
                {
                    text: $scope.resourceString.Yes,
                    action: $scope.onDeleteConfirm,
                    primary: true
                },
                {
                    text: $scope.resourceString.Cancel
                }
            ]
        }); 

答案 2 :(得分:0)

显式设置visible: true选项应该可以解决问题:

$('#wayneDialog').kendoDialog({
            visible: true,
            width: '400px',
            title: $scope.resourceString.Delete_Confirm_Title+ "'"+ name +"'?",
            closable: true,
            modal: true,
            content: $scope.resourceString.Delete_confirm_Content,
            actions: [
                {
                    text: $scope.resourceString.Yes,
                    action: $scope.onDeleteConfirm,
                    primary: true
                },
                {
                    text: $scope.resourceString.Cancel
                }
            ]
        });