jquery - 等待用户输入
问题描述:
即时通讯尝试做出弹出窗口来确认用户操作(删除表中的一行,例如..)。旨在使弹出窗口完全HTML和Javascript。我无法得到我的头是如何我会让JavaScript等待用户输入,但仍然功能的其他JavaScript事件。 (其他点击触发的东西等)。什么我想我做的是一样的东西jquery - 等待用户输入
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>");
}
仍然不确定该怎么办确认的东西。弹出窗口应该包含一个yes和no按钮。
答
可以实现这样的事情
makePopup("Are you sure?", function {
//bla bla
});
这将调用你的回调仅当用户肯定,他点击一个按钮或什么之后。水木清华这样的:
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);
}
你可以举一个例子,而无需使用一种形式?或者详细说明你给的那个。它看起来很不完整,我无法理解它.. – Prodigga 2010-01-09 10:45:56
编辑我的帖子,告诉你我现在拥有什么。 – Prodigga 2010-01-09 10:48:43
是的,改变了它。不是火箭科学,是吧? – 2010-01-09 12:04:02