获取可拖动剑道窗口的偏移量

问题描述 投票:0回答:1

我怎么能得到我的kendo窗口被拖动时的offset();。例如,在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);
        }
});
javascript jquery kendo-ui
1个回答
1
投票

你的代码有几个错误。

首先,你的代码中没有 drag 活动,请检查 文件. 你必须使用 dragstartdragend 为。

第二个问题是javascript框架之间的功能不同。因为 this 在jQuery UI中,modal的元素并不意味着对所有其他框架都一样。在Kendo UI中 this 在大多数情况下,关键字是小组件的实例,这比只引用目标元素更有意义。小组件的实例有一个属性,称为 element 是创建小组件的目标元素。

鉴于此,您的代码应该是

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

演示

© www.soinside.com 2019 - 2024. All rights reserved.