我不知道如何在Google上问这个,这就是为什么我在这里问的原因,
console.log
函数中的getListByElement()
在这里不会执行,
我正在修改一个非常大的现有项目,并使用功能挂钩进行验证,并在某些.on事件上执行该挂钩,我想知道的是为什么console.log无法执行,
首先执行,
Order of execution on my understanding
1. trigger event function for the field `fieldName`
2. fieldName.functionalityHook = [Apple.functionalityHook()];
3. Apple.functionalityHook = function(func) {
4. return function(e) {
5. getListByElement(ele); and display console.log();
6. return func;
这是我的示例代码,
var Apple= window.Apple; // global
fieldName.functionalityHook = [Apple.functionalityHook()];
Apple.functionalityHook = function(func) {
return function(e) {
var ele = $(e.target);
getListByElement(ele);
return func;
}
}
function getListByElement(ele){
console.log('ele here');
}
谢谢您的回答
答案 0 :(得分:1)
据我所知,由于函数初始化,您的getListByElement()没有调用。您要在初始化之前调用functionalHook()。
fieldName.functionalityHook = [Apple.functionalityHook()];
Apple.functionalityHook = function(func) {..........
此调用返回一个函数
return function(e) {
var ele = $(e.target);
getListByElement(ele);
return func;
}
并且在此函数内的getListByElement()正在调用。
因此,正确的代码排列应像这样。
var Apple= window.Apple;
function getListByElement(ele){
console.log('ele here');
}
Apple.functionalityHook = function(func) {
return function(e) {
var ele = $(e.target);
getListByElement(ele);
return func;
}
}
fieldName.functionalityHook = [Apple.functionalityHook()];