EDIT: Thank you everybody for your answers and opinions. Just what I needed and was looking for. I wish I could accept every answer.
I have a huge, unwieldy page that's just a deep, wide table. User can ask for special treatment on each column -- select the col for later operations; sort the col up or down; minimize the col; and more.
The user asks for these special treatments via a dropdown (that I just decided I needed, so not implemented yet) on each col. I need to find the "best" way for the user to see a column dropdown. I have some ideas:
User hovers on the col <th> and, after some few tenths of seconds, the dropdown appears.
User actively clicks on the col <th> and the dropdown shows up right away.
User has a button (tooltip = "menu"), part of the <th>, that s/he clicks/hovers to show the menu dropdown.
I like the notion of hover to see the dropdown and, in this application, it could actually work well. But the second-worst thing is to move the mouse around idly and have all these crazy <div>s flashing on and off all over the place. So hover needs a timeout: I'm thinking that .3 seconds might be close to right.
The first -worst thing, to me, is to hover on an element; to see the dropdown I want; and then, when I go to move into the dropdown menu, the damn thing disappears! So the un-hover state wants to be timed out as well, to keep the dropdown in view until the user gets there. Maybe a half-second timeout would work here.
As for a button to show the dropdown, that's simple but, really, why waste the screen real estate; and why make the user do the click?
And as to clicking right on the <th>, I'm leery of dedicating a click -- a huge resource -- just so the guy can see a menu.
But the question is about affordance and ease. So:
What does the seasoned user expect when I want to show a dropdown menu? What is natural, habitual, intuitive?
Thanks so much! I'm a true beginner at this UI stuff and flying blind.