我怎么能得到我的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);
}
});
但是当我尝试用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
活动,请检查 文件. 你必须使用 dragstart
或 dragend
为。
第二个问题是javascript框架之间的功能不同。因为 this
在jQuery UI中,modal的元素并不意味着对所有其他框架都一样。在Kendo UI中 this
在大多数情况下,关键字是小组件的实例,这比只引用目标元素更有意义。小组件的实例有一个属性,称为 element
是创建小组件的目标元素。
鉴于此,您的代码应该是
dragstart: function() { // or dragend
let offset = $(this.element).offset();
}