Беглый взгляд на плагин, я думаю, что всплывающее событие не обрабатывается должным образом:
// bind the overlay click to the close function, if enabled
if (s.o.modal && s.o.close && s.o.overlayClose) {
s.d.overlay.bind('click.simplemodal', function (e) {
e.preventDefault();
s.close();
});
}
Я, правда, немного не в себе, но насколько яМожно сказать, что оверлей фактически не имеет поведения по умолчанию, которое необходимо предотвратить.Что нужно предотвратить, так это распространение событий.
Попробуйте добавить это над строкой protectDefault в неминифицированной версии самого плагина (вы также можете просто сохранить protectDefault, без вреда):
e.stopPropagation();
Конечно, вы должны включать этот не минимизированный скрипт, а не тот, который вы сейчас используете.Мне было бы интересно узнать, поможет ли это.Извиняюсь за представление «ответа» без фактического его тестирования, но установка теста требует больше времени, чем я бы предпочел.; -)
Недостаток, если он ДЕЙСТВУЕТ: сложно найти правильное место, чтобы вставить это в уменьшенную версию.Может быть, проще самим заново минимизировать все это с помощью инструмента по вашему выбору.
[Приложение:] Если e.stopPropagation();
не работает, вы можете пойти в старую школу и добавить
return false;
после s.close();