0

标题说明了一切……

当我知道用户已完成调整大小时,我需要执行自定义操作,但是从我在 Kendo UI 文档中可以找到的内容来看,除了我无法按原样使用的“调​​整大小”之外,我没有其他可访问的事件。

也许我只是错过了这个活动?

如果不:

有没有办法使用“调整大小”事件来确定用户已停止调整大小?

4

2 回答 2

1

所以到目前为止,这是我的答案:

由于架构需求,我的略有不同,但这是一个通用的解决方案

var isResizing = false;
var wndw = $(element).kendoWindow({
                // .....
                resize: OnResize,
                // .....
            }).data('kendoWindow');

function onResize() {
    isResizing = true;
}

$('body').on('mouseup', '.k-window', function() {
    if(isResizing){
        // **Your 'Stopped' code here**
        isResizing = false;
    }
});
于 2012-12-21T15:34:25.343 回答
0

您是否考虑过使用 underscore.js debounce?我已经成功地使用它来仅在调整大小事件停止出现一段时间(在低于 300 毫秒的情况下)后才触发然后更改。这确实为捕捉结尾增加了一点延迟,但如果你像我一样只想存储最终大小,那么它工作得很好。这是上面代码的版本,但使用了下划线去抖动:

  var wndw = $(element).kendoWindow({
            // .....
            resize: _.debounce( this.hasResized, 300)
            // .....
        }).data('kendoWindow');

  //This is called at the end of a resize operation (using _.debounce)
  function hasResized (args) {
        // ** Your code here **
  };

希望有帮助。

于 2013-07-29T08:39:53.513 回答