The mode-button works for me. Example with script, which set all wlan off or on (depending of past state wlan1)
/system routerboard mode-button
set enabled=yes on-event=wlan_on_off
# script
/system script
add name=wlan_on_off owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":local i\r\
\n:if ( [/int wir get 0 disabled ] = true ) do={\r\
\n :foreach i in= [ /int wir find ] do={ :int wir enable \$i };\r\
\n } else={\r\
\n :foreach i in= [ /int wir find ] do={ :int wir disable \$i };\r\
\n :int wir disable \$i;\r\
\n}\r\
\n"
or script manually:
:local i
:if ( [/int wir get 0 disabled ] = true ) do={
:foreach i in= [ /int wir find ] do={ :int wir enable $i };
} else={
:foreach i in= [ /int wir find ] do={ :int wir disable $i };
:int wir disable $i;
}