fnbtn
当按下 Esc 键时,我的 jQuery 脚本中有以下代码对 div 进行了一些更改:
$(document).keypress(function(e){
if(e.keyCode==27) {
if(window.discon==0)
{
window.discon = 1;
$("#fnbtn").replaceWith("<div id=\"fnbtn\"><p id=\"fnbtnp\">The variable is one...<br>Blah blah...<\/p><\/div>");
}
else if(window.discon==1)
{
window.discon=2;
$.post(
'do.php',
{doit: 4, uid: window.uid},
function(rcvd) {
$("#fnbtn").replaceWith("<div id=\"fnbtn\"><p id=\"fnbtnp\">The variable is two...<br>Blah blah...<\/p><\/div>");
$("#disp").append("<p><span id=\"cmnt2\">"+rcvd+"</span></p>");
});
//alert("Alert something here");
}
}
});
disp
$.post
是从请求中接收到的数据附加到的另一个 div 。该do.php
文件包含一些 mysql 查询和以下语句:
echo "This is the data returned from the do.php file";
这是我的问题。当我将此脚本放在我的 php 文件中时,第一次fnbtn
按下时 div 会成功更改。Esc
但是当Esc
第二次按下时,divfnbtn
没有改变。我认为这与$.post()
请求有关。
但是当我包含该alert()
语句(当前已被注释掉)时,一切正常,并且在我按下OK
警报框上的按钮之前,我可以看到所做的更改。
这个问题的原因是什么?是因为$.post()
请求在$("#fnbtn").replaceWith()
and$("#disp").append()
语句执行之前完成引起的吗?以及如何包括在内alert()
?
感谢您的帮助。提前致谢。:-)