【问题标题】:get top left coordinates of a modal (jquery kendo-ui)获取模式的左上角坐标(jquery kendo-ui)
【发布时间】:2020-04-20 08:56:22
【问题描述】:

我通过 jquery kendu-ui 有一个直接的可拖动模式窗口。

我的目标是简单地获取模式的topleft位置的屏幕坐标,相对于浏览器窗口...我正在尝试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;

【问题讨论】:

  • 当您尝试读取值时,.k-window 元素在 DOM 中是否可见?
  • 绝对,我正在浏览器中进行测试,因为它已经连起来了......我仍然无法控制任何坐标
  • 您是否可以在问题中展示一个工作示例?需要注意的一点是,如果 DOM 中有多个 .k-window 元素,那么您的所有三个代码示例都只会查看第一个。

标签: javascript jquery kendo-ui offset getboundingclientrect


【解决方案1】:

Kendo 默认创建两个.k-window 元素,一个用于可拖动目的,另一个用于“物理”窗口。您的尝试总是将第一个堆栈到顶部 0 和左侧 0 与 visibility: visible,但与 display: none。

其中一个选项是通过您的窗口 ID 查找 k-window 包装器:

$('#my-window').closest('.k-window');

示例:Get offset

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多