Если элемент создается после вызова .on, то с ним не будет связано событие.
Как упоминалось @AlejoBrz, вы можете попробовать использовать .live , но вы можететакже посмотрите на функцию .delegate , так как она может работать и в зависимости от вашей ситуации.
[править] Просто понял, что .on точно такой же, как и .delegate, когда используется как вы.Итак, если подумать, видя, как вы связываете событие сразу после создания элемента, возможно, вы могли бы просто заменить строку .on на эту:
$('#' + thumbnailId).bind('click', function () { // the rest of your code here
Я должен отметить, что это решение не очень хорошо масштабируетсяпо мере роста количества миниатюр.