Javascript FullCalendar-在事件中提交表单在提交后单击并滚动调整

Javascript FullCalendar-在事件中提交表单在提交后单击并滚动调整,javascript,jquery,fullcalendar,Javascript,Jquery,Fullcalendar,我在代码中使用fullcalendar,我希望在单击事件后(并且仅在单击事件后)调整滚动位置。我可以通过在eventclick中使用$(window).scrollTop($(“#MyId”).offset().top)来实现这一点,但我的问题是每次单击都需要提交表单,这会导致重新加载页面。所以我失去了我的滚动位置。我也不能在eventAfterAllRender或loading中进行滚动定位,因为我只希望它发生在eventclick之后。 我是否知道事件单击后正在重新加载?例如,在日历上选择一

我在代码中使用fullcalendar,我希望在单击事件后(并且仅在单击事件后)调整滚动位置。我可以通过在eventclick中使用$(window).scrollTop($(“#MyId”).offset().top)来实现这一点,但我的问题是每次单击都需要提交表单,这会导致重新加载页面。所以我失去了我的滚动位置。我也不能在eventAfterAllRender或loading中进行滚动定位,因为我只希望它发生在eventclick之后。 我是否知道事件单击后正在重新加载?例如,在日历上选择一个新日期之后? 我真的尝试了我想到的每一件事,但都没有成功。任何想法都将不胜感激:)

更新: 我试图解释的部分代码: 我的完整日历的eventClick选项:

 eventClick: function (calEvent, jsEvent, view) {

$(window).scrollTop($("#IdOfTheDivIWantToJumpToAfterAnEventIsClicked").offset().top);

// Now I need To submit my form everytime I click on an event which makes the page loses scroll position.


            $("#MyForm").submit();
        },
我希望现在情况更清楚了。

我最后做了什么: 我在表单中添加了一个隐藏的输入字段,当单击事件时,我用字符串填充输入字段值(例如“clicked”)

然后,如果该输入字段中填充了一个值(仅通过单击事件发生),则我通过表单提交上的控制器填充隐藏字段值,以便在页面重新加载后保存隐藏字段值

在fullcalendar加载中使用此值后,我只需删除它的值

loading: function (isLoading, view) {
            // some code
            if (isLoading) {
                //some code
            } else {

                if ($("#MyNewHiddenInputField").val() == "Clicked" && // some other conditions) {
                    // Do what you wanna do
                }


                // Now clear my hidden field
                $("#Clicked").val("");
            }
        }
因此,事件单击后的页面加载将从其他类型的加载中识别出来。我希望我明白了


我不确定是否有更好的方法,如果我遇到更好的解决方案,我会更新我的答案:)

一个小图片解释场景或代码会有所帮助。我们在黑暗中拍摄。我希望现在更清楚了。。这是我的完整日历的eventclick选项。由于每次事件单击时都需要提交表单,因此我丢失了窗口滚动条的位置。当您提交表单时,页面将被重定向,对吗?嗯。。当我单击一个事件时,同一页面上的另一个容器将填充与该事件相关的正确信息(但是是的,url在“事件”中设置,它将数据发送到我控制器中的正确操作)。。页面是相同的,但每个eventclick都有一个表单提交并重新加载相同的页面。因此,每次单击时,页面都会滚动到右侧div,表单提交和页面重新加载会丢失滚动位置。基本上,即使在页面重新加载之后,您也希望保留页面滚动。。这就是你想要的吗?如果是这样的话,这个问题可能会对你有所帮助。
loading: function (isLoading, view) {
            // some code
            if (isLoading) {
                //some code
            } else {

                if ($("#MyNewHiddenInputField").val() == "Clicked" && // some other conditions) {
                    // Do what you wanna do
                }


                // Now clear my hidden field
                $("#Clicked").val("");
            }
        }