You're able to use a moving piston to have the block be sort of "placed" on. Just place a button normally with a block to support it, and then run the command
/setblock ~ ~-1 ~ moving_piston
while standing on the block the button/lever is on. Players are able to move through moving pistons, it wont have any collision and you can freely move through the area. Just to know, mobs can't pathfind through moving pistons, and you can't place a block where a moving piston is. The only way to break it is with another setblock command to remove it, or TNT. Hope this helps.