停止弹出对话框的 touchmove 事件

Posted

技术标签:

【中文标题】停止弹出对话框的 touchmove 事件【英文标题】:stop touchmove event for popup dialog 【发布时间】:2013-06-02 15:21:52 【问题描述】:

为移动设备创建应用。所以问题:当用户单击页面上的链接时,我需要显示弹出对话框。在弹出窗口显示期间页面应该被冻结(禁用滚动)。在弹出窗口中,我有很长的列表,其中包含应该滚动的项目。那么我是如何实现的:

我在正文中创建弹出窗口,并添加下一个代码以防止滚动:

$("body").bind("touchmove", scrollHandler);

function scrollHandler(event)
    event.preventDefault();

在弹出窗口中,我添加了应该滚动的列表,但当然它没有滚动,因为它被之前的处理程序阻止了。那么如何在弹出窗口中启用滚动列表。谢谢

【问题讨论】:

如何在打开弹出窗口之前将overflow:hidden 设置为正文并在关闭它时删除该属性?它一直对我有用! :) 它可能是$("body").bind("touchmove",false); 而不是函数调用!这也可以 :) 你在使用 jquery mobile 吗? overflow:hidden 不适用于 mobilw 浏览器,它们有自己的滚动条。不,我没有使用 jquery mobile。 【参考方案1】:

Funs 解决方案:

$(window).scroll(function()
        window.scrollTo(0, oldScrollPosition)
);

如果你对某人有帮助:) 需要操作滚动的触摸事件。

【讨论】:

以上是关于停止弹出对话框的 touchmove 事件的主要内容,如果未能解决你的问题,请参考以下文章

MFC对话框中如何响应弹出式菜单事件 点击按钮 弹出菜单 菜单消息事件响应不了

如何监听弹出对话框的关闭事件

Windows程序奔溃后,禁止弹出“停止工作”对话框

WebBrowser如何关闭弹出对话框

vue中禁止页面滚动/滚动事件穿透-弹出蒙版时弹出层下面还可以滚动问题解决

javaScript 删除事件 弹出确认 取消对话框