获取可拖动的偏移量 kendo window

get offset of draggable kendo window

我怎样才能得到offset();我的 kendo window 在被拖动时...例如,在 jQuery UI 中,下面的作品:

$('#easterEgg').draggable(
    {
        drag: function(){
            var offset = $(this).offset();
            var xPos = offset.left;
            var yPos = offset.top;


            $('#posX').text('x: ' + xPos);
            $('#posY').text('y: ' + yPos);
        }
    });

jsfiddle demo

但是当我尝试将相同的内容与 kendo ui 合并时,我什么也没得到:尝试了下面的几个变体,没有错误,只是没有输出。我怎样才能对 kendo ui 做同样的事情?

$("#easterEgg").kendoWindow({
        draggable: true,

         drag: function(){
            var offset = $(this).offset();
            var xPos = offset.left;
            var yPos = offset.top;


            $('#posX').text('x: ' + xPos);
            $('#posY').text('y: ' + yPos);
        }
});

您的代码中有一些错误。

首先,没有drag事件,请查看docs. You have to use dragstart or dragend

第二个问题是 javascript 框架在功能上各不相同。因为 jQuery UI 中的 this 是模式的元素并不意味着它对所有其他框架都是相同的。在大多数情况下,On Kendo UI this 关键字是小部件的实例,这比仅引用目标元素更有意义。小部件的实例有一个名为 element 的 属性,它是创建小部件的目标元素。

鉴于此,您的代码应该是:

dragstart: function() { // or dragend
    let offset = $(this.element).offset();
}

Demo