I had a terrible time getting the positioning for my textpopup
to come out right and my solution was hacky and didn't work consistently. It seems that everyone had that problem, and the jQuery UI team solved it (yay!) for version 1.8. Enter the enhanced position
. It does all the work for me and allows for much greater flexibility. One downside is that it won't work on invisible (display: none
) elements, so I have to hack it with x.css({display: 'block', visibility: 'hidden'}).position(positionOptions).css({display: 'none', visibility: 'visible'})
.
The other downside is that the display animation isn't as elegant: my hack involved appending the popup directly after the input box and setting the css so that the correct edge was fixed to the input box. This meant that changing the size of the popup automatically moved it into position, and the animation always appeared to grow out of the input box. Now the position is fixed absolutely, and the standard show
always grows from the upper left corner. You have to manually set the animation or reposition the box. A small sacrifice for "just works."