即时尝试制作一个弹出窗口,用于确认用户操作(例如删除表格中的行).旨在使弹出窗口完全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("<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);
}