敏捷工具包 - atk4_form.js 是如何加载的?

Agile toolkit - how atk4_form.js is loaded?

我使用的是敏捷工具包 4.2 版。 我正在使用 javascript 函数来创建模式(弹出窗口),内容是通过 ajax 调用插入的。 内容是通过jquery的“.html()”函数插入的,但是在大数据的情况下,这个函数非常慢。

我用普通 javascript 函数“.innerHTML”替换了这个函数。

但是现在,atk4_form.js 没有加载了,我不知道为什么。 jquery 的 "html()" 函数有什么钩子吗?当我使用 "html" 时调用所有内容事件,但当我使用 "innerHTML".

时调用其中的 none

我知道 class "Form_Basic" 在 "render" 函数中加载 atk4_form.js。但是渲染也必须有一些钩子指向 jquery 的 "html" 或 "append" 函数。

知道如何在使用 javascript 函数 "innerHTML" 时加载 atk4 的基本函数吗?

您需要在服务器响应中查找标记并在触发 window 打开事件的元素的上下文中执行它。如果你没有做任何花哨的事情,那么只需 eval() 块。

加载程序是很久以前写的,请参阅文件 start-atk4.js

javascript 包裹在 $.atk4(function(){ .. }); 里面,类似于 $(function() { });但略有延长。

很可能是通过 ui.atk4_loader.js 执行的,这是 jQuery UI 小部件,旨在安全地加载页面区域。

要回答您的问题,您应该在此处复制并修改此文件:

https://github.com/atk4/atk4/blob/develop/public/atk4/js/ui.atk4_loader.js#L201