Jquery Mobile:我可以在 pagebeforehide 处理程序中使用 stopPropagation 吗?

发布于 2024-11-18 04:31:28 字数 232 浏览 2 评论 0原文

在我的一个页面上,我想首先询问用户是否想要离开。当用户回答“否”时,不应发生任何转换。

我尝试了这段代码:

$('#pTakeCardSet').live('pagebeforehide',function(event, ui){
    event.stopPropagation();
});

但它不起作用。新页面仍在加载。

有人有同样的问题吗?

On one of my pages, I want to ask users first whether they want to navigate away. When user answers no, no transition should occur.

I tried this code:

$('#pTakeCardSet').live('pagebeforehide',function(event, ui){
    event.stopPropagation();
});

But it doesn't work. The new page is still loaded.

Does anyone have the same problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酒中人 2024-11-25 04:31:28

您可能会被现场事件所困扰 - 来自:http://api.jquery.com/event。停止传播/

由于 .live() 方法处理
事件一旦传播到
文档的顶部,它不是
可以阻止活体传播
事件。同样,事件处理
.delegate() 将始终传播到
它们所属的元素
授权;任何事件处理程序
它下面的元素已经有
时已被执行
调用委托事件处理程序。

You may be getting bit by a live event - from : http://api.jquery.com/event.stopPropagation/

Since the .live() method handles
events once they have propagated to
the top of the document, it is not
possible to stop propagation of live
events. Similarly, events handled by
.delegate() will always propagate to
the element to which they are
delegated; event handlers on any
elements below it will already have
been executed by the time the
delegated event handler is called.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文