Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 与window.history.back()不一致_Javascript_Jquery - Fatal编程技术网

Javascript 与window.history.back()不一致

Javascript 与window.history.back()不一致,javascript,jquery,Javascript,Jquery,我在MVC视图中有以下代码,用于测试window.history.back() 如果用户单击段落标记中的链接(以红色突出显示),window.history.back()将按照我的预期执行。它将我带回到上一页,并在该页上维护状态。但是,如果用户单击按钮,我不会得到相同的行为。重新加载当前视图,或者至少尝试重新加载当前页面。但它失败了。不管是执行jQuery,还是将window.history.back()调用放在按钮onClick中,都会发生同样的事情 一条可能有用的信息。按钮位于HTML.B

我在MVC视图中有以下代码,用于测试window.history.back()

如果用户单击段落标记中的链接(以红色突出显示),window.history.back()将按照我的预期执行。它将我带回到上一页,并在该页上维护状态。但是,如果用户单击按钮,我不会得到相同的行为。重新加载当前视图,或者至少尝试重新加载当前页面。但它失败了。不管是执行jQuery,还是将window.history.back()调用放在按钮onClick中,都会发生同样的事情

一条可能有用的信息。按钮位于HTML.BeginForm中,而段落标记中的行不在其中


有人知道为什么会发生这种情况吗?

浏览器可能将该按钮解释为提交按钮并提交表单,从而导致页面刷新。添加
type=“button”
将防止出现这种情况

$('#cancelButton').click(function(e){
    e.preventDefault();

    /* ... code ... */
});
<button type="button">Cancel</button>
取消

添加
type=“button”
以确保它不会被解释为提交按钮。@KevinB-就是这样!我这方面的愚蠢疏忽。如果你将此创建为答案,我将接受它。这节省了我的时间。非常感谢你。对于我来说,甚至不在表单中的按钮也发生了这种情况:/这完全修复了它。