Задать вопрос
Qurel
@Qurel

Как при определенном хеше вызвать определенную модалку?

Есть кнопка, которая открывает модальное окно, у нее есть data-key такой же как у хеша. Как сделать чтобы при добавлении хеша в адресную строку, открывалась эта модалка?

Этот код не работает, подскажите что неправильно
$(window).bind('hashchange', function() {
    if(location.hash == $('.js-answer-modal').data('key')) {
         var modal = $(this).next();
          $('.remodal-main', $remodal).html(modal.show());
    }
});


Вот функция, которая вызывает модалку по клику:
$('.js-answer-modal').click(function(e){
                e.preventDefault();
            	var answer = $(this).closest('li');
                var modal = $('#answer-modal-loggedout');
                $('.remodal-main', $remodal).html(modal.show());
                inst.open();
	            modal.on('click', '.js-send_modal_message', function () {
		            var key = $(this).data('key');
		            var field = modal.find('textarea');
		            if (field.val()) {
			            $.ajax({
				            type: "POST",
				            data: 'text='+field.val(),
				            url: "/notepad/send/message/"+key,
				            dataType: "json",
				            success: function(res){
					            if (res.ok) {
						            inst.close();
						            answer.hide();
						            noty(lang === 'rus' ? 'Сообщение отправлено!' : 'Повідомлення відправлено!', 'success', 2000);
					            }
				            }
			            });
		            } else {
			            field.focus();
		            }
	            });

	            $(document.body).on('click', '.remodal .js-modal__close', function () {
		            inst.close();
	            });
            });
  • Вопрос задан
  • 193 просмотра
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 1
Qurel
@Qurel Автор вопроса
Без функции работает:
$('.js-answer-modal[data-key="' + window.location.hash.replace('#', '') + '"]').trigger('click');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы