1

我正在尝试为剑道对话框创建一个自定义操作“fillParent”。

var dialog = $('#dialog').kendoWindow({
    actions: [
        'FillParent', 'Minimize', 'Maximize'
    ]
});

//FillParent definition
dialog.wrapper.find(".k-i-fillparent").click(function(e){
    e.preventDefault();
    dialog.setOptions({
        width: $(".content").width(),
        height: $(".content").height(),
        position: {
            top: 0, left: 0
        }
    })
});

这仅在我第一次单击填充父按钮时有效。为什么?

还有其他更好的方法来实现这个目标吗?

=========

感谢ezanker解决。但是我注意到内容的大小没有与窗口相关。使用.restore()也解决了这个问题。

var dialog = $('#dialog').kendoWindow({
actions: ['FillParent', 'Minimize', 'Maximize']
});

//FillParent definition
dialog.wrapper.on("click", ".k-i-fillparent", function(e){
    dialog.setOptions({
        width: $(".content").width(),
        height: $(".content").height(),
        position: {top: 0, left: 0}
    });
    dialog.restore();
    e.preventDefault();
});
4

1 回答 1

0

尝试使用 jQuery .on() 并委托给.k-i-fillparent选择器:

dialog.wrapper.on("click", ".k-i-fillparent", function(e){
      dialog.setOptions({
          width: $(".content").width(),
          height: $(".content").height() - 30,
          position: {
              top: $(".content").offset().top, left: $(".content").offset().left
          }
      });
    e.preventDefault();
});

工作演示

于 2015-06-12T16:15:15.550 回答