javascript - 第二个弹出窗口不显示在点击
问题描述
我正在尝试使用 jquery mobile 在单击另一个弹出窗口时显示一个弹出窗口。
我的代码如下所示:
htmlpop='<a href="#popup" style="background-color:#11ffeeff; data-rel="back" class="ui-btn ui-corner-all ui-btn-a ui-icon-delete ui-btn-icon-notext ui-btn-left">Close</a>';
htmlpop=htmlpop +'<p> a question</p>';
htmlpop=htmlpop + '<button id="yes">yes</button>';
$("#popup").html(htmlpop);
$("#popup").trigger('create');
$("#popup").popup('open');
$("#yes").bind( "click", function(event, ui){
$("#popup").popup('close');
alert("popup close"); // when the alert showup the popup is still open
htmlform = 'somehtml';
$('#popupform').html(htmlform);
$('#popupform').trigger('create');
$("#popupform").popup('open');
alert("popupform open"); //the 1st popup is still open and the 2nd don't
});
我可能做错了什么,希望你能帮助我^^
编辑:我在我的第二个弹出窗口的 html 中修复了一个错误,所以现在我的第一个弹出窗口正确关闭,第二个出现在我的警报中但立即消失。
EDIT2:这是我的完整代码
crea_dico = false; // on repasse a false pour les prochaines itérations
var autVar = testdico[j].trim();
//On propose a l'utilisateur de créer le dico et la variable.
buffer='<a href="#popup" style="background-color:#11ffeeff; data-rel="back" class="ui-btn ui-corner-all ui-btn-a ui-icon-delete ui-btn-icon-notext ui-btn-left">Close</a>';
buffer=buffer + '<p>le dictionnaire '+dicotrim+'n\'existe pas encore voulez-vous créer le dictionnaire et la variable associé dans ce calcul?</p>';
buffer=buffer + '<p><button id="oui">oui</button>';
buffer=buffer + '<button id="non">non</button></p>';
$("#popup").html(buffer);
$("#popup").trigger('create');
$("#popup").popup('open');
alert("popup open");
$(document).on( 'click', '#oui', function(){
//Si oui on ouvre le formulaire de création de la variable (champ variable et dico pré-rempli)
$("#popup").popup('close');
alert("popup close");
buffer='<a href="#ajout_var" style="background-color:#11ffeeff;" data-rel="back" class="ui-btn ui-btn-a ui-icon-delete ui-btn-icon-notext ui-btn-left">Close</a>';
buffer=buffer + '<form>';
buffer=buffer + '<input type="text" class="form-control" id="calculAut" placeholder="" value="'+autVar+'" ></input>';
buffer=buffer + '<input id= descriptionAutVar type="text" placeholder="Description variable"></input>';
buffer=buffer + '<textarea id= calculAutVar placeholder="Formule de calcul"></textarea>';
buffer=buffer + '<input id= ticketAutVar type="text" placeholder="Ticket (lien ou numéro)" value="'+ticket+'"></input>';
buffer=buffer + '<input id= RAAutVar type="text" placeholder=" Variable RA "></input>';
buffer=buffer + '<input id= commentaireAutVar type="text" placeholder=" Commentaire création/ticket "></input>';
buffer=buffer + '<button id="valider"></button>';
buffer=buffer + '<button id="annuler"></button>';
buffer=buffer + '</form>';
$('#ajout_var').html(buffer);
$('#ajout_var').trigger('create');
$("#ajout_var").popup('open');
alert("ajout_var open");
//création de du dico et de la variable en base.
$(document).on( 'click',"#valider", function(){
//var nameAutVar = document.getElementById("nameAutVar").value;
var ticketAut = document.getElementById("ticketAutVar").value;
var calculAut = document.getElementById("calculAutVar").value;
var commentaireAut = document.getElementById("commentaireAutVar").value;
var descriptionAut = document.getElementById("descriptionAutVar").value;
var RAAut = document.getElementById("RAVar").value;
ajout_variable(dico,autVar,ticketAut,calculAut,commentaireAut,descriptionAut,RAAut);
$("#ajout_var").popup('close');
}); //fin de l'action du bouton "valider" lorsque l'utilisateur a saisie les infos de la variable manquante
//On annule la création du dico et de sa variable
$(document).on( "click", "#annuler", function(){
$("#ajout_var").popup('close');
});
}); //fin de l'action du bouton "Oui" lorsqu'on demande a l'utilisateur s'il veut renseigner la variable manquante
$(document).on( "click", "#non", function(){
$("#popup").popup('close');
});
但我认为我不应该那样绑定函数,看起来我每次点击按钮时都会在点击事件中添加函数,因为如果我第二次触发弹出窗口,我的警报会显示两次。
解决方案
推荐阅读
- c++ - 如何获取所有线程详细信息,例如 ThreadId、描述、状态。Win32 API C++?
- c# - .net 框架到 .net 5 迁移构建但未启动
- oracle - 虚拟列的问题
- google-cloud-platform - 使用 gsutil 从 GKE 容器复制文件失败并出现 AccessDeniedException: 403 Insufficient Permission
- jquery - 尝试在 MVC 5 中使用 AJAX POST 将数据传递给操作方法
- elasticsearch - 为什么 Elasticsearch 不计算新文档?
- django - 签名不同于覆盖的“保存”方法,pylint(signature-differs)
- c# - 如何使用 AWS lambda 处理大型 zip 文件?
- python - 你如何解密postgresql数据库和python api中的密码?
- php - 在页脚文件中查找 WP 源