如何在Kendo Dialog(jQuery)中重置滚动位置
重新打开Kendo Dialog时回到顶部的实现方法(无需销毁重建)
完全不需要销毁后重新创建对话框,直接利用Kendo Dialog的open事件就能实现重新打开时回到顶部的需求,具体操作如下:
- 给Dialog绑定
open事件,每次对话框打开时触发滚动重置逻辑 - 在事件回调中,定位到Dialog的可滚动内容容器,将其
scrollTop属性设置为0
代码示例:
// 初始化Dialog const dialog = $("#your-dialog").kendoDialog({ // 你的Dialog配置参数 content: "<div class='scrollable-content'>你的长内容...</div>", open: function() { // 若自定义了内部滚动容器,用对应选择器获取 const scrollContainer = this.contentWrapper.find(".scrollable-content"); // 若滚动区域是Dialog自带的内容容器,直接使用this.contentWrapper // const scrollContainer = this.contentWrapper; scrollContainer.scrollTop(0); } }).data("kendoDialog"); // 后续打开Dialog时直接调用 dialog.open();
补充说明:
contentWrapper是Kendo Dialog内置的内容容器,若你的滚动内容直接放在该容器内,直接操作它即可;如果是自定义了内部滚动容器,替换成对应的选择器即可- 这种方式既能保留Dialog之前的状态,又避免了销毁重建带来的性能损耗,是最优实现方式
内容的提问来源于stack exchange,提问作者Kent
相关产品推荐
相关产品推荐

