停止弹出对话框的 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对话框中如何响应弹出式菜单事件 点击按钮 弹出菜单 菜单消息事件响应不了