Как заменить скрипт скрытия элемента?

Всем доброго времени суток!
Внимание! Не работает именно на мобильных устройствах скрипт!
Суть вопроса-проблемы
Имеется самописная кнопка заказа обратного звонка на сайте.
На десктопной версии сайта реализовал открытие самой формы (по нажатию на иконку трубки) через скрипт с анимацией выплывания, а закрытие через простой скрипт, который приведу ниже (скрипт скрывает элемент при нажатии в любую точку экрана, кроме самого элемента).
НО! На мобильных девайсах работает только скрипт появления элемента. Клик в любое место на экране не приводит к скрытию элемента.
Как исправить данную ситуацию можно?
Скрипт открытия и скрытия элемента:
function showcallbackform (objName) {
    if ( $(objName).css('display') == 'none' ) {
        $(objName).animate({height: 'show'}, 200);
    } else {
        $(objName).animate({height: 'hide'}, 200);
    }
};

jQuery(function($){
	$(document).mouseup(function (e){
		var div = $("#callback-form");
		if (!div.is(e.target)
		    && div.has(e.target).length === 0) {
			div.hide();
		}
	});
});
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
@Pertinax Автор вопроса
Ответ нашел!
jQuery(function($){
    $(document).bind( "mouseup touchend", function(e){
        var div = $("#callback-form");
        if (!div.is(e.target)
            && div.has(e.target).length === 0) {
            div.hide();
        }
    });
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@BushaevDenis
Подобная история была. Попробуй запустить страницу в инкогнито, мб просто кешируется старый код.
В хроме есть такая удобная штука Toggle device toolbar. Она не только эмулирует размеры экрана, но и useragent. А движок сейчас у хрома что на компе что на телефоне - один. Так что должно работать одинаково.
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы