jQuery - funkcja działa dobrze po uruchomieniu przy kliknięciu div, ale nie przy ładowaniu strony

Mam następującą funkcję, którą chcę uruchamiać podczas ładowania strony i ponownie uruchamiać po kliknięciu wyzwalacza div #. Kiedy klikniesz div # trigger wszystko jest w porządku. Jednak po wczytaniu strony kod wydaje się czasami działać, ale czasami wciska się niewłaściwą kwotę, a alert (który właśnie umieszczam w celu debugowania) nigdy nie odpala. Dzięki

  function textIndentFunc () {

     textString = $('#from-1 :selected').text();

     $('#hidden').text(textString);

     textWidth = $('#hidden').width();

     inputWidth = $('#from-1 select').width();

     indentMy = (inputWidth / 2) - (textWidth / 2);

    $('#from-1').css('text-indent',indentMy);

}

 $('#trigger').click(function(){
    textIndentFunc();
    alert('fire');
 });

textIndentFunc();

AKTUALIZACJA - Powinienem był wspomnieć, że ten kod działa na dokumencie.ready.

UPDATE - przeniesienie kodu do window.load nic nie zmienia.

questionAnswers(5)

yourAnswerToTheQuestion