javascript – Jquery – 等待用户输入

即时尝试制作一个弹出窗口,用于确认用户操作(例如删除表格中的行).旨在使弹出窗口完全HTMLJavascript.我无法理解的是我如何让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("<div class='popup'><p>"+msg+"</p></div>");
    }

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

解决方法:

你可以实现这样的事情

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("<div class='popup'><p id='themsg'>"+msg+"</p></div>");
    $('#themsg').onclick(callback);
}
上一篇:mint-ui 的地址选择 外部套了vant ui的 弹出popup


下一篇:Ajax实现局部数据交互的一个简单实例