Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.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
如何在onclick事件上顺序调用javascript方法_Javascript_Html - Fatal编程技术网

如何在onclick事件上顺序调用javascript方法

如何在onclick事件上顺序调用javascript方法,javascript,html,Javascript,Html,我需要在onclick事件的javascript中依次调用两个函数 要求是从后端获取数据,然后突出显示单元格。 下面的代码段用于此操作: cell1.onclick=function() { getData("FileName"); setTimeout("setHighlight('FileName')", 500); }; 目前,我使用setTimeout在500毫秒的延迟后调用第二个方法 上述代码的问题是,如果getData方法从后端获取数据需要500毫秒以上,那么在这种

我需要在onclick事件的javascript中依次调用两个函数

要求是从后端获取数据,然后突出显示单元格。 下面的代码段用于此操作:

cell1.onclick=function() {
    getData("FileName");
    setTimeout("setHighlight('FileName')", 500);
};
目前,我使用setTimeout在500毫秒的延迟后调用第二个方法

上述代码的问题是,如果getData方法从后端获取数据需要500毫秒以上,那么在这种情况下,单元格将不会突出显示

有没有办法做到这一点

谢谢
Jyoti要从后端获取数据,您可能正在使用AJAX

在回调函数中填充数据。完成此步骤后,调用highlight函数

你可能有这样的想法:

      xmlHttp.onreadystatechange = function() 
      { 
         if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
         { 
            // do something with the response here
            highlightData();  //<---- the function to highlight data
         } 
      } 

要从后端获取数据,您可能正在使用AJAX

在回调函数中填充数据。完成此步骤后,调用highlight函数

你可能有这样的想法:

      xmlHttp.onreadystatechange = function() 
      { 
         if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
         { 
            // do something with the response here
            highlightData();  //<---- the function to highlight data
         } 
      } 

您应该向getData添加另一个参数,这是一个在拥有数据时要执行的函数。所以

function getData(filename, callback) {
  // get the data
  // when you have the data, do callback(filename);
}
那你就可以了

getData("FileName", setHighlight);

您应该向getData添加另一个参数,这是一个在拥有数据时要执行的函数。所以

function getData(filename, callback) {
  // get the data
  // when you have the data, do callback(filename);
}
那你就可以了

getData("FileName", setHighlight);