之前解雇我不知道,如果我在这里做了一些愚蠢的错误,但面临页面初始化射击回调函数实际事件发生之前的这个问题。 下面是代码JQuery的回调函数事件
$(document).on("pageinit",function(){
$("#discInvitePopUp").popup({
transition: "slidedown",
history: false,
afterclose: function(event, ui) {
activeDiscInviteCloseHandler();
},
afteropen: function(event, ui) {
openDiscFrmInvite();
}
});
}
这里的回调函数:
function activeDiscInviteCloseHandler(){
//some code
//curDiscInv set
alert("evt");
$.post("/ajaxReq/user_action.php", {
unsetInvite:JSON.stringify(curDiscInv)
}, function(data){
});
}
function openDiscFrmInvite(){
//some code
}
这里的问题是,
activeDiscInviteCloseHandler()
函数被调用,只要pageinit事件是由于它发送的结果而触发的将邮件数据发送到服务器,这是不可取的。
任何可能的解决方案,以避免这种情况。
这似乎是新的功能,以及类似的问题已经被用户有一个jQuery开发手机论坛指出。不要低估你在jQuery移动中遇到错误的可能性。 –
你需要'setTimeout'来打开弹出窗口。由于页面转换期间发生的事件以及浏览器引起的延迟,它会在pageinit上触发两次。 http://stackoverflow.com/a/15738426/1771795 – Omar
你可以给我们整个代码,也许jquery mobile会触发页面init关闭所以弹出窗口不显示? – abdu