我有一个通过jQuery kendu-ui直接可拖动的模式窗口。
[我的目标是简单地获取模态的top
left
位置相对于浏览器窗口的屏幕坐标...我正在尝试offset
和getBoundingClientRect()
方法,以下仅是示例几次尝试,所有尝试都是在不断地控制台记录0
,0
,..我在这里做错了什么?
let ktop = $(".k-window").offset().top;
let ktlft = $(".k-window").offset().left;
console.log(ktop + " " + ktlft);
let ktl = document.querySelector('.k-window');
let procoords = ktl.getBoundingClientRect();
let ktl = document.querySelector('.k-window');
let ktlTop = ktl.offsetTop;
let ktlLeft = ktl.offsetLeft;
Kendo默认情况下会创建两个.k-window
元素,一个用于可拖动目的,另一个用于“物理”窗口。您的尝试始终将堆栈中的第一个堆栈移到顶部0,然后将visibility: visible
保留为0,但将display: none
保留为0。
其中一个选项是通过您的窗口ID查找k-window
包装器:
$('#my-window').closest('.k-window');
示例:Get offset