如何仅拖动Syncfusion Scheduler对话框标题栏?.NET Core C#
解决Syncfusion Scheduler对话框仅标题栏可拖动的问题
你当前的代码是将整个对话框容器设为可拖动区域,要实现仅标题栏触发拖动,只需在初始化Draggable时指定handle选项,将标题栏元素设为拖动触发句柄即可。
修改后的代码如下:
function OnPopupOpen(args) { var dragElement = document.getElementById('schedule_dialog_wrapper'); // 获取对话框标题栏元素,Syncfusion默认对话框标题栏类名为.e-dlg-header var dragHandle = dragElement.querySelector('.e-dlg-header'); var draggable = new ej.base.Draggable(dragElement, { clone: false, handle: dragHandle // 仅点击标题栏时触发拖动 }); }
注意事项
- 如果
.e-dlg-header不是你实际项目中对话框标题栏的类名,可通过浏览器开发者工具查看标题栏元素的DOM结构,替换对应的选择器(比如自定义的类名或id)。 - 确保标题栏元素在对话框初始化完成后能被正确获取,
OnPopupOpen事件触发时对话框DOM已渲染完成,所以这里的查询逻辑是可靠的。
内容的提问来源于stack exchange,提问作者nyny
相关产品推荐
相关产品推荐

