我有两个<Route>用react-router创建的.
当用户点击"返回列表"时,我想滚动用户在列表中的位置.
我怎样才能做到这一点?
javascript scrollview reactjs react-router-v4 react-router-dom
我有一个 Django 模板,我可以通过单击按钮来调用视图。view 函数返回 aHttpResponseRedirect到同一页面。我希望页面返回/刷新到与用户单击按钮时相同的滚动位置。
到目前为止,这是我尝试过的:
尝试1:基于this和this,我onsubmit在表单中添加了一个,如下所示:
<form action="{% url 'buy' market.id %}" method="post" onsubmit="return refreshToSameScroll()">
Run Code Online (Sandbox Code Playgroud)
...location.reload()通过以下脚本调用:
<script type="text/javascript">
function refreshToSameScroll() {
location.reload();
}
</script>
Run Code Online (Sandbox Code Playgroud)
但这没有用。
尝试 2:然后我尝试了以下组合,并从此进行了修改:
<form action="{% url 'buy' market.id %}" method="post" onsubmit="return saveScroll()">
Run Code Online (Sandbox Code Playgroud)
...使用这个脚本:
<script type="text/javascript">
function saveScroll () {
var page_y = document.getElementsByTagName("body")[0].scrollTop;
window.location.href = window.location.href.split('?')[0] + '?page_y=' + page_y;
}
window.onload = function () {
if ( window.location.href.indexOf('page_y') != …Run Code Online (Sandbox Code Playgroud)