【发布时间】:2014-05-28 10:30:16
【问题描述】:
我一直在我的 jQuery Mobile 应用程序中使用出色的 NiceScroll 插件。我遇到的一个问题是当我在弹出窗口中使用 NiceScroll 时。当用户按 Esc 键关闭弹出窗口时,滚动条仍留在后面。 “没问题”我想——我将只记录滚动条对象并从弹出窗口的 popupafterclose 事件中调用它的 .remove() 方法。但是,有一个问题 - 只要滚动条存在(即使在实际弹出窗口消失之后),popupafterclose 事件就不会被触发。 jQM 文档状态
当弹窗完全从屏幕上消失时触发此事件,这意味着所有关联的动画都已完成。
因此,我所看到的意味着悬空的孤立滚动条相当于“所有关联的动画”没有完整。
作为权宜之计,我在一个数组中跟踪创建的 Nicescrolls,检查文档级别的 Esc 键并在该数组的最后一个元素上调用 remove()。这可行,但感觉相当hackish。我将非常感谢任何能够提出更好方法的人。
【问题讨论】:
-
你能创建一个小提琴,以便我们可以看到生成的代码吗?也许您可以将滚动的 DOM 父级从正文更改为弹出窗口?
-
是的,我将创建小提琴。滚动条是绝对定位的,因此那里的更改至少需要弹出主体相对定位。我玩弄了这样做的想法,但对以牺牲我自己为代价的完全不同的项目的前景犹豫不决。
标签: jquery-mobile popup nicescroll