I want to launch this three commands sequencially :
I made this command with when and then in jquery for this purpose :
$.when(e.off('accordionchange'))
.then($.when($(this).click())
.then(e.on('accordionchange', majIconeBtnTDrl)));
it does not work
The click method has no way to determine when all the event handlers (nor any asynchronous functions triggered by those event handlers) have completed.
The sort of problem you could solve with this type of approach would generally best be solved by avoiding interacting with the click event in the first place.