Cómo establecer el enfoque para un campo en particular en un modo de Bootstrap, una vez que aparece

He visto un par de preguntas con respecto a los modales de arranque, pero ninguno exactamente como este, así que seguiré adelante.

Tengo un modal al que llamo onclick así que ...

$(".modal-link").click(function(event){
  $("#modal-content").modal('show');
});

Esto funciona bien, pero cuando muestro el modal, quiero centrarme en el primer elemento de entrada ... En caso de que el primer elemento de entrada tenga un ID de #photo_name.

Así que lo intenté

   $(".modal-link").click(function(event){
     $("#modal-content").modal('show');
     $("input#photo_name").focus();
   });

Pero esto fue en vano. Por último, intenté enlazar con el evento 'show', pero aun así, la entrada no se enfoca. Por último, solo para las pruebas, ya que tuve la sospecha de que esto se trata del orden de carga de js, puse un setTimeout solo para ver si demoro un segundo, ¿funcionará el enfoque, y sí, funciona? Pero este método es obviamente una mierda. ¿Hay alguna manera de tener el mismo efecto que a continuación sin usar setTimeout?

  $("#modal-content").on('show', function(event){
    window.setTimeout(function(){
      $(event.currentTarget).find('input#photo_name').first().focus()
    }, 0500);
  });

Respuestas a la pregunta(11)

Su respuesta a la pregunta