这个问题尚未通过解决方案得到解决,但它仍然无效。
问题是如果没有点击保存按钮,我想要禁用链接(尝试覆盖onbeforeunload函数)。
我的页面结构如下所示:
<ul class="nav">
<li><a class="noclic" href="..."></a>
</li>
<li><a class="noclic" href="..."></a>
</li>
<li><a class="noclic" href="..."></a>
</li>
</ul>
<button type="button" class="save">Save</button>
<form>...</form>
<button type="button" class="save">Save</button>
这是我的jQuery:
$(document).ready(function () {
$('.noclic').on('click', function (e) {
//(I also display a confirm modal)
e.preventDefault();
var $this = $(this);
console.log("locked");
});
$('.save').click(function () {
$('.noclic').off('click');
console.log("unlocked");
});
});
当我点击导航链接时,控制台会显示&#34;已锁定&#34;信息。 但是当点击按钮时,&#34;解锁&#34;控制台在消失之前快速显示,并且event.preventDefault仍在运行。
我做错了什么?!
答案 0 :(得分:0)
两个问题 1)您的按钮是“提交”按钮,因此,当您单击时,页面将重新加载。你必须将它们改为
<button type="button">
2)你的按钮有“保存”类,但你使用$(“#save”)而不是$(“.save”)来引用它们