Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 优化。加载对话框没有';当用户提交表单时不会立即出现_Javascript_Jquery_Optimization_Event Handling - Fatal编程技术网

Javascript 优化。加载对话框没有';当用户提交表单时不会立即出现

Javascript 优化。加载对话框没有';当用户提交表单时不会立即出现,javascript,jquery,optimization,event-handling,Javascript,Jquery,Optimization,Event Handling,我正在开发一个web应用程序,它允许用户查看以SVG格式显示的大型(代谢)网络并与之交互。可以在这里查看 我有大量处理不同事件的jQuery代码。特别是当用户提交表单时,将执行提交功能。我在函数中做的第一件事是显示模式对话框,它阻止UI并告诉用户页面正在加载 $('#indexForm').submit(function() { dialog.dialog('open'); ... 之后,该函数操作网页上的元素,通过AJAX加载大型网络XML并将其附加到网页上。所有操作完成后,对

我正在开发一个web应用程序,它允许用户查看以SVG格式显示的大型(代谢)网络并与之交互。可以在这里查看

我有大量处理不同事件的jQuery代码。特别是当用户提交表单时,将执行提交功能。我在函数中做的第一件事是显示模式对话框,它阻止UI并告诉用户页面正在加载

 $('#indexForm').submit(function() {
    dialog.dialog('open');
  ...
之后,该函数操作网页上的元素,通过AJAX加载大型网络XML并将其附加到网页上。所有操作完成后,对话框消失,用户可以再次开始与页面交互

我的问题是,从单击提交按钮到显示对话框之间存在延迟。用户按下submit后,UI会被冻结一段明显的时间


我怀疑浏览器被页面上的大量元素所淹没(SVG地图有很多~3mb的元素),因此它无法立即对表单提交之类的事件做出反应。期待任何解释和建议,以改进我的代码并解决此问题。

尝试添加ur对话框以在单击事件中打开,而不是在提交so中打开:

$("#indexForm").click(function(){
       dialog.dialog('open');
});

要查看这是否有助于提高性能,问题在于网页中呈现的SVG的大小。当我尝试优化SVG数据时(我读取了许多元素),延迟开始减少。

刚刚尝试过!没有注意到任何差异,仍然反应缓慢。我认为,无论发生什么事件,浏览器都很难响应(执行事件处理程序)。这种情况会发生在不同的浏览器中吗?你在用什么浏览器?是的,Firefox和Chrome都有。