gpt4 book ai didi

javascript - 是否可以控制 HTML Razor 组件呈现的顺序?

转载 作者:行者123 更新时间:2023-11-30 19:16:00 27 4
gpt4 key购买 nike

我正在尝试呈现我的一个页面,并且我有一个 Html.RenderAction()在我要显示的 div 的顶部调用。我想在 document.ready() 中调用我的 js 初始化方法之一从通过我的 RenderAction 调用显示的页面内部,但它似乎触发了 document.ready() Html.RenderAction() 之后页面中的 html 之前称呼。

正因为如此,init 函数正在检查来自尚未加载的剑道元素的数据,因为它在 JQuery 完成之前被调用,并且只看到应该是剑道输入的输入作为默认 html <input>元素。

换句话说,有没有办法延迟加载/调用 RenderAction 直到页面内部加载?或者我应该只使用一些丑陋的 CSS 将我需要的部分保留在我的 div 的顶部?下面是我的代码的非常基本的总结:

<html>
...
<div>
@Html.RenderAction("File that calls init() method")
<...rest of page that I need to load first, including kendo text boxes/>
</div>

</html>

调用init()方法的文件

<div>
...
</div>
<script src="...">
$(document).ready(function() {
myJs.init(params)
}
</script>


现在我已经在其他地方实现了下面的答案,我意识到当从 document.ready 切换时至 window.on('load',...) ,它现在打破了另一个类似工作的 View ,但取而代之的是 @Html.RenderAction调用在底部:

...
<div>
<>page including kendo inputs</>
@Html.RenderAction("different file that calls same init() method")
</div>

</html>

基本上,document.ready如果 Razor 在剑道之前对我有用,但相反 - 和 window.on('load',function(){...})效果相反。


更新:经过大量尝试和错误寻找解决方案后,我最终不得不重新排列我的页面 - 似乎没有简单的方法来解决 Razor 加载的顺序CSHTML 页面

最佳答案

这可能有效,尝试使用 $(window).load(function() 而不是 $(document).ready(function()

<div>
...
</div>
<script src="...">
$(window).load(function() {
myJs.init(params)
}
</script>

从下面的链接:“当整个页面完全加载时执行,包括所有框架、对象和图像”

jQuery - What are differences between $(document).ready and $(window).load?

关于javascript - 是否可以控制 HTML Razor 组件呈现的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58000710/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com