我已经尝试了提供的示例,它似乎按原样被破坏:https://docs.telerik.com/kendo-ui/controls/layout/window/how-to/restrict-windows-position
我可以检测到边界交叉,但是无论我使用哪种方法更改窗口位置,由于用户的鼠标仍在拖动,窗口将继续移动直到释放,例如:
w.data("kendoWindow").dragging._draggable.bind("drag", (function(e) {
let pos = w.data("kendoWindow").wrapper.offset();
let quitit = false;
if (pos.top < 75 || pos.left < 0) { quitit = true; }
if (quitit) {
w.closest(".k-window").animate({
top: '70px',
}, 20, "linear", function() {});
}
我还尝试检查源代码并手动调用w.data(“ kendoWindow”)。dragging._draggable.dragend()之类的函数。 “取消”具有效果,但可以防止再次拖动。