我怎么知道何时在javascript中调用函数?

时间:2018-07-26 16:01:13

标签: javascript

我不知道何时调用函数。我正在尝试更改具有下载ID的p元素的文本,我知道该怎么做。但是,如何确定何时调用函数?该函数名为move。像这样吗我只需要在调用函数时。也许是事件监听器?

    if (move.wasCalled) {
        // Some code
    }

2 个答案:

答案 0 :(得分:1)

您可以在if语句move.wasCalled中添加class ApplicationController < ActionController::Base # Layout per resource_name def layout_by_resource if devise_controller? && resource_name == :admin "layout_name_for_devise_admin" else "application" end end # Layout per resource_name AND action def layout_by_resource if devise_controller? && resource_name == :user && action_name == "new" "layout_name_for_devise" else "application" end end end ,如下所示:

console.log("move function was called.");

因此,当执行if语句时,它将记录在控制台中,例如

  

检入Google Chrome开发者工具控制台标签。

答案 1 :(得分:0)

似乎要在调用move时添加事件监听器:

 move = (function(old) {
     var handlers = [];
     function move() {
        old.apply(this, arguments);
        handlers.forEach(function(handler) { handler(); });
     }
     move.wasCalled = function(handler) { handlers.push(handler) };
     return move;
   };
})(move);

因此您可以将其用作:

 move.wasCalled(function() {
   //...
 });

 move();

但是,如果要同步确定是否已添加该函数,只需在调用move时设置一个属性,即可将其重写为:

move = (old => (...args) => {
  move.wasCalled = true;
  old(...args);
})(move);

或对于较旧的环境:

move = (function(old) { 
  return function() {
    move.wasCalled = true;
    old.apply(null, arguments);
  };
})(move);

所以现在

 if(move.wasCalled) { /*...*/ }

实际可行

相关问题