2

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

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

但是现在, atk4_form.js 不再加载,我不知道为什么。jquery的“html()”函数有什么钩子吗?当我使用“html”时,所有内容事件都会被调用,但当我使用“innerHTML”时,它们都不会被调用。

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

知道当我使用 javascript 函数“innerHTML”时如何加载 atk4 的基本函数吗?

4

1 回答 1

2

您需要在服务器响应中查找标签并在触发窗口打开事件的元素的上下文中执行它。如果您没有做任何花哨的事情,那么只需 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

于 2017-05-03T17:02:14.773 回答