Javascript 触发单击事件后激发函数
如何解决此问题:Javascript 触发单击事件后激发函数,javascript,jquery,Javascript,Jquery,如何解决此问题: function Navigation(sender) { var senderID = sender.id; var answer = confirm("do you want to save your current layout ?"); if (answer) { $("#loadingImg").css("display", "block"); $("#<%=Button1.ClientID %>
function Navigation(sender) {
var senderID = sender.id;
var answer = confirm("do you want to save your current layout ?");
if (answer) {
$("#loadingImg").css("display", "block");
$("#<%=Button1.ClientID %>").click();
//the next line is never fired
if (senderID == "AboutClick") { setTimeout('ShowLoadingMsg()', 3000); }
}
}
function ShowLoadingMsg() {
window.location="About.aspx";
}
<a href="javascript:void(0)" id="AboutClick" class="menu" onclick="Navigation(this);" >Navigate Click</a>
<asp:Button ID="Button1" runat="server" OnClick="btnSaveState_Click" style="display:none;" />
主要的问题是这一行从未被触发我做错了什么这里的问题是
$(“#”)点击()代码>导致重新加载整个页面。在这之后为哪些脚本设置超时并不重要,因为页面无论如何都会刷新
您可以尝试将按钮1
放入,或者用另一种方法解决问题,例如用相同的方法保存状态和重定向。尝试以下方法:
<a href="#" id="AboutClick" class="menu trigger">Navigate Click</a>
-
$(函数(){
$(“.trigger”)。单击(函数(){
var answer=confirm(“是否保存当前布局?”);
若有(答复){
$(“#加载img”).show();
if(this.id==“AboutClick”){setTimeout('ShowLoadingMsg()',3000);}
$(“#”)点击();
}
})
})
函数ShowLoadingMsg(){
window.location=“About.aspx”;
}
带有注释的行:if(senderID==“AboutClick”){setTimeout('showloadingsg()',3000);}按钮1中发生了什么。单击按钮1。我对帖子进行了编辑。请检查按钮1。单击向服务器发送数据并导致回发?如果这样做,可能会妨碍后续行的正确执行。请使用console.log(senderID)
进行调试。我也不能使用ajax bcs,因为它与我在代码中所做的工作不兼容
<a href="#" id="AboutClick" class="menu trigger">Navigate Click</a>
$(function(){
$(".trigger").click(function(){
var answer = confirm("do you want to save your current layout ?");
if (answer) {
$("#loadingImg").show();
if (this.id == "AboutClick") { setTimeout('ShowLoadingMsg()', 3000); }
$("#<%=Button1.ClientID %>").click();
}
})
})
function ShowLoadingMsg() {
window.location="About.aspx";
}