我一直试图阻止我的脚本继续运行,同时显示我的模态警报框。我很确定我需要使用.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");
答案 0 :(得分:1)
问题是wait
在这种情况下不是一个函数。因此错误为undefined is not a function
。 $('confirmOK').wait
等于undefined
,您将其称为函数。
JavaScript中没有wait
或sleep
这样的内容。最接近的是setTimeout
。
答案 1 :(得分:1)
不是等待单击按钮,而是执行剩余的代码(“wait()”之后的代码)作为单击“确认”按钮时执行的回调函数。
前:
var callback = function () {
window.close();
}
$("#confirmOK").click(callback);
//Show your modal dialog;