Die jQuery - Funktion funktioniert einwandfrei, wenn sie bei div click ausgelöst wird, jedoch nicht beim Laden der Seite

Ich habe die folgende Funktion, die ich beim Laden der Seite ausführen und erneut ausführen möchte, wenn Sie auf div # trigger klicken. Wenn Sie auf div # trigger klicken, ist alles in Ordnung. Beim Laden der Seite scheint der Code jedoch manchmal zu funktionieren, aber manchmal wird der falsche Betrag eingerückt, und die Warnung (die ich nur zum Debuggen dort eingefügt habe) wird nie ausgelöst. Vielen Dank

  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();

UPDATE - Ich hätte erwähnen sollen, dass dieser Code in document.ready ausgeführt wird.

UPDATE - Das Verschieben des Codes nach window.load ändert nichts.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage