Jquery – 等待用户输入

我试图制作一个弹出窗口来确认用户操作(删除表格中的一行,例如……)。 旨在使弹出窗口完全HTML和Javascript。 我无法理解的是我如何让javascript等待用户输入,但仍然可以用于其他javascript事件。 (其他点击触发的东西等…)。 我以为我会做的就像是

if(makePopup("Are you sure?") == true) { //bla bla } 

其中makePopup函数将创建一个包含传递给它的字符串的弹出窗口,并为用户提供yes或no选项。 在该函数的某个地方,我需要一个等待用户单击是或否的循环。 代码只是在那一行等待,直到完成某事。 这就是我想要的…但是我的问题..如果代码卡在那里的循环中,jquery如何执行其他任务? 例如,如果弹出框可以拖动怎么办? 当代码忙于循环时,如何触发这些效果的事件..? 现在我无法理解解决方案..

这是我目前要测试的东西..

  $(document).ready(function(){ $('a').click(function(){ makePopup("Wana go to google?",function(){ window.location.replace("http://www.google.com"); }); }); }); function makePopup(msg,callback){ $('body').append(""); } 

仍然不确定如何做确认的东西。 弹出窗口应该包含是和否按钮。

你可以实现这样的东西

 makePopup("Are you sure?", function { //bla bla }); 

只有当用户确定,在他点击按钮或其他任何内容后,它才会调用您的回调。 Smth喜欢:

 function makePopup(msg, callback) { $("#sureformmsg").html(msg); $("#sureform").show().submit(function() { if (..check..) callback(); }); } 

你的例子:

 $(document).ready(function(){ $('a').click(function(){ makePopup("Wana go to google?",function(){ window.location.replace("http://www.google.com"); }); }); }); function makePopup(msg,callback){ $('body').append(""); $('#themsg').onclick(callback); }