我正在使用下面的函数在 jqueryui.dialog() 期间廉价地禁用滚动。但是,对话框关闭后,如何将其反转回正常滚动行为?
window.onscroll = function () {
window.scrollTo(0, 0);
};
最佳答案
您可以使用 css Overflow:hidden 来删除窗口的滚动,然后使用 Overflow:initial 将其恢复正常,而不是使用 onscroll 事件
//Before displaying your dialog
jQuery('html').css({overflow:"hidden"});
//After closing the dialog
jQuery('html').css({overflow:"initial"});
如果您想坚持使用 onscroll 事件,只需保存对当前 onscroll 的引用,然后在完成后将其设置回来
var scrollRef;
//Before displaying your dialog
scrollRef = window.onscroll;
window.onscroll = function () { window.scrollTo(0, 0); };
//After closing your dialog
window.onscroll = scrollRef;
关于javascript - 如何取消对话框中的自定义 window.onscroll 函数,恢复正常行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27612818/