一旦两个单独的功能可用,如何运行脚本?

时间:2012-12-21 00:16:35

标签: javascript ajax wordpress

在我的测试网站上,我尝试在用户切换视频之前使用AJAX加载一些关于视频的文本,然后在ajax成功返回后输入文本。

我需要检查AJAX是否已成功返回并且javascript函数是否可用。我怎么检查这个?

我可以在AJAX加载后立即单独运行一个函数,并且只要javascript函数可用,但我不知道它们将进入哪个顺序。

1 个答案:

答案 0 :(得分:1)

您可以对事件和回调执行某些操作。我仍然不确定你的意思是什么“功能已经可用”,但这里有一些不应该让你开始的东西。

// Check if all conditions are complete.
function completionChecker(limit, callback) {
  // Private count variable will outlast scope due to closure.
  var count = 0;
  // Return a callback for the event.
  return function(event) {
    if(++count == limit) { 
      // Call the callback supplied.
      callback(); 
      // Remove the event listener, we've reached the limit.
      this.removeEventListener("finished", arguments.callee, false); 
    }
  }      
}

// Some function to perform when everything is complete.
function myFunc() { /* Do stuff */ }

// Create a custom event.
var myEvt = new CustomEvent("finished");
// Add a listener to the document. After 2 "finished" events, call myFunc.
document.addEventListener("finished", completionChecker(2, myFunc), false);

// Now in your ajax success callback, and wherever your other function 
// has "become available", fire the "finished" event.
document.dispatchEvent(evt);