.wait()" undefined不是函数"

时间:2014-05-01 14:24:37

标签: javascript jquery jquery-mobile

我一直试图阻止我的脚本继续运行,同时显示我的模态警报框。我很确定我需要使用.wait()来等待点击确定按钮。

这是显示我的对话框并将文字应用于其中的代码。

function notify(heading,text){
   $("#errorHeading").empty();
   $( "#errorTxt").empty();
   var msg = $.mobile.changePage( "#confirm", { role: "dialog" } )+ $("#errorHeading").append(heading) + $( "#errorTxt" ).append("<p>"+text +"</p>" );
$("#confirmOK").wait('click');
}

这是HTML对话本身

    <div data-role="dialog" id="confirm" data-title="Are you sure?">
    <div data-role="content">
        <h3 class="confirmHead" id="errorHeading">???</h3>
        <p class="confirmMessage" id="errorTxt">???</p>
        <a href="#" id="confirmOK" data-role="button" data-theme="b" data-rel="back">OK</a>
    </div>
</div>

当我单击“确定”按钮关闭对话框时,我收到以下错误:

Uncaught TypeError: undefined is not a function client.js:393
notify client.js:393
$.ajax.success client.js:254
c jquery-1.10.2.js:3048
p.fireWith jquery-1.10.2.js:3160
k jquery-1.10.2.js:8235
n.onload.n.onreadystatechange

如果有人能提供解决方案,我将不胜感激。

提前致谢

修改

我需要脚本停止并等待点击事件的原因是,如果我立即通过更改页面发出通知,则通知不会保持可见超过一秒钟。

e.g。

notify("", "you may now log in as: " + $("#R_email").val()); //pause need it to pause here because the next line forces the notification to dissapear
window.location.replace("#changeUser"); 

2 个答案:

答案 0 :(得分:1)

问题是wait在这种情况下不是一个函数。因此错误为undefined is not a function$('confirmOK').wait等于undefined,您将其称为函数。

JavaScript中没有waitsleep这样的内容。最接近的是setTimeout

答案 1 :(得分:1)

不是等待单击按钮,而是执行剩余的代码(“wait()”之后的代码)作为单击“确认”按钮时执行的回调函数。

前:

    var callback = function () {
        window.close();
    }

    $("#confirmOK").click(callback);

    //Show your modal dialog;