jquery移动块执行或退出

时间:2014-05-21 16:15:35

标签: javascript jquery mobile

这里有一些非常有趣的问题可以用来停止执行,其中大部分问题都与在允许其他事情发生之前暂停一段时间有关。

我的jquery mobile 1.3.2中有一个稍微不同的场景,其中包含以下功能,可以将事件添加到用户的日历中。

    function addToMyCal(typ,id)
    {
        loginReq();
        addToUsrCal(window.wh2usr,"spscId",id);
    }
    // login required
    function loginReq()
    {
         // check cookie
        if (! loginCheck())
            $('#popupLogin').popup('open')
    }

我观察到,如果用户未登录,则会显示登录弹出窗口,但不会暂停以获取用户凭据。而是显示登录弹出窗口,立即调用addToUsrCal(),因为没有用户信息而失败。

那么我该如何1)要么等到用户提供凭证而没有超时,要么2)允许用户取消登录并返回到他们在网站上的位置?

由于

1 个答案:

答案 0 :(得分:1)

您对$('#popupLogin').popup的来电并不等待任何用户互动 - 它只会显示弹出窗口并立即返回。然后loginReq函数完成并返回给调用者addToMyCal。从那里开始执行addToMyCal中的下一行 - 调用addToUsrCal

如果您只想在某些用户输入后调用addToUsrCal,那么您需要将该函数调用移至回调函数 - 可能与表单上的提交操作或单击操作相关联提交按钮(这些按钮可能已存在于您的弹出窗口内容中)。

同样,您可以在弹出窗口中的取消按钮中添加一个回拨来关闭弹出窗口(使用对$('#popupLogin').popup("close")的调用。