javascript - 获取可拖动剑道窗口的偏移量
问题描述
我怎么能得到偏移量();我的剑道窗口被拖动时...例如,在 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 合并时,我什么也得不到:尝试了以下几种变体,没有错误,只是没有输出。我怎样才能对剑道 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
or dragend
。
第二个问题是javascript框架在功能上彼此不同。因为this
在 jQuery UI 中,modal 的元素并不意味着它对所有其他框架都相同。在大多数情况下, Kendo UIthis
关键字是小部件的实例,这比仅引用目标元素更有意义。小部件的实例有一个名为的属性element
,它是创建小部件的目标元素。
鉴于此,您的代码应为:
dragstart: function() { // or dragend
let offset = $(this.element).offset();
}
推荐阅读
- java - Azure Java API - 如何获取 vmss 缩放设置 json
- apache-kafka - 尝试检索有关组的详细信息时,Kafka 使用者组不存在
- php - Laravel Eloquent - 条件数据获取
- angular - Angular dom 不更新更改
- big-o - 带有 if else 语句的三个嵌套 for 循环的大 O 表示法
- xamarin.forms - 棱镜部分视图 xamarin 形式
- python - 在anaconda环境中导入tensorflow时出现DLL错误
- postgresql - 即使启用了 pgcrypto 扩展,AWS RDS Postgres Crypto 函数也不起作用
- prometheus - Prometheus 中每 X 分钟的计数值
- aws-sct - 无法为 SQL Server 仓库配置 SCT 数据提取器代理