То, чего вы хотите достичь, возможно. Вы должны добавить дополнительную функцию. Позвольте мне объяснить.
Метод mousePressed () принимает функцию в качестве аргумента. Вы можете назвать это «функцией обратного вызова». Когда вы нажимаете элемент dom, он вызывает функцию, которую вы передаете туда.
let c = createButton('test');
c.mousePressed( doSomething );
function doSomething( msg ){
console.log(msg); //expected output: undefined
}
Обратите внимание, как я передал «doSomething» без (). () Означает, что вы выполняете (вызываете) эту функцию. Вы только хотите передать ссылку на всю функцию.
** Если бы я добавил (), функция выполнялась бы напрямую, и все, что возвращает функция (в данном случае не определено), будет передано как функция обратного вызова.
Когда вы добавляете дополнительную функцию к аргументам mousePressed, вы можете вызывать doSomething из этой функции.
let c = createButton('test');
c.mousePressed( function(){
doSomething('Hello Vasco!');
});
function doSomething( msg ){
console.log(msg); //expected output: Hello Vasco!
}
Или, применяя ее к вашему коду, она должна выглядеть следующим образом:
cButton.mousePressed( function(){
recruting('Cavalry');
});