我正在使用敏捷工具包版本 4.2。 我正在使用一个 javascript 函数来创建模式(弹出窗口),并通过 ajax 调用插入内容。 内容是通过jquery的“.html()”函数插入的,但是在大数据的情况下,这个函数非常慢。
我用普通的 JavaScript 函数“.innerHTML”替换了这个函数。
但是现在,atk4_form.js 不再加载,我不知道为什么。 jquery的“html()”函数有什么钩子(Hook)吗?当我使用“html”时,所有内容事件都会被调用,但当我使用“innerHTML”时,所有内容事件都不会被调用。
我知道类“Form_Basic”在“render”函数中加载atk4_form.js。但是渲染也必须有一些指向 jquery 的“html”或“append”函数的钩子(Hook)。
知道当我使用 javascript 函数“innerHTML”时如何加载 atk4 的基本函数吗?
最佳答案
您需要在服务器响应中查找标记,并在触发窗口打开事件的元素的上下文中执行它。如果您没有做任何花哨的事情,那么只需 eval() block 即可。
加载器是很久以前编写的,请参阅文件 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
关于javascript - 敏捷工具包 - atk4_form.js 如何加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43758868/