在jquery mobile中使用弹出窗口时禁用滑动事件

时间:2015-05-29 19:54:14

标签: javascript jquery jquery-mobile

我的应用程序具有swipeleft和swiperight功能,可显示导航菜单。代码看起来像这样。

$(document).on("swipeleft swiperight", function(swipeEvent) {
   //my code here
}

在应用的页面中,我使用jquery mobile popup来显示图片。我的问题是swipeleft和swiperight仍然在弹出窗口内工作,并在后台调出导航栏,我不想要这个。

我在弹出窗口小部件上使用了data-dismissible =“false”,但这没有帮助。

您认为我应该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您可以将一个函数绑定到popupcreate事件(http://api.jquerymobile.com/popup/#event-create),该事件使swipeleft swiperight功能无效。执行此操作的一种方法是让popupcreate将全局变量更新为true,然后让.on(swipeleft,swiperight)在执行任何操作之前检查该变量的值。然后你可以在popupafterclose事件上将它设置为false。

答案 1 :(得分:0)

使用event.stopPropagation();为我工作。

我在popup div上添加了swipeleft和swiperight处理程序,并使用了event.stopPropagation();在里面。

    $('#mypopup').on('swipeleft swiperight', function(event) {
        event.stopPropagation();
    });