我不知道何时调用函数。我正在尝试更改具有下载ID的p元素的文本,我知道该怎么做。但是,如何确定何时调用函数?该函数名为move。像这样吗我只需要在调用函数时。也许是事件监听器?
if (move.wasCalled) {
// Some code
}
答案 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) { /*...*/ }
实际可行