在继续操作之前,我使用以下代码显示 dnnConfirm
确认弹出窗口。问题是它需要点击两次才能显示。当我关闭它并再次单击按钮时,需要单击 3 次,依此类推。
我是 DNN 新手,不知道这里出了什么问题。请指导
这是我的超链接按钮:
<a id="link-btn" class="dnnSecondaryAction" onclick="setInfo();"/>Save Info</a>
这是我的确认码:
$("#link-btn").dnnConfirm({
text: "<div class='MS'>Save info?</div>",
title: "Confirm Save",
yesText: 'Yes',
noText: 'No',
isButton: true
});
//handle user decision
$("#link-btn").click(function (e, isYES) {
if (isYES) {
saveUserInfo(userID);
}
return false;
});
最佳答案
这里有几个问题可能会给您带来问题。
不幸的是,您没有包含 setInfo() 方法的代码,但我会先查看那里。例如。这个方法返回 false 吗?
另一个问题可能是返回 false
$("#link-btn").click(function (e, isYES) {
这可能会短路一些其他所需的行为。一般来说,您最好使用:
e.preventDefault();
相反。
我还要注意 $("#link-btn").click() 可能不会做你认为它做的事情。它不是处理确认对话框的结果,而是在确认对话框启动时触发。 (例如,#link-btn 被点击)
为了解决两次单击显示问题的潜在原因(并且也能够处理确认对话框的结果),我建议重写如下:
超链接
<a id="link-btn" class="dnnSecondaryAction"/>Save Info</a>
Javascript
$("#link-btn").dnnConfirm({
text: "<div class='MS'>Save info?</div>",
title: "Confirm Save",
yesText: 'Yes',
noText: 'No',
isButton: true,
callbackTrue: function() {
saveUserInfo(userID); // assuming userID is a global
}
});
$("#link-btn").click(function (e) {
setInfo();
// in this case, you don't need to call e.preventDefault()
// as dnnConfirm will handle that for you
});
关于javascript - 深度神经网络 : dnnConfirm needs two clicks to show,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27372941/