мышь вверх - щелчок за пределами Div не работает на мобильном телефоне

Я использую следующее, чтобы скрыть div и ovelay div при нажатии вне формы.

Следующий javascript:

$(document).mouseup(function (e)
{
  var container = $("#feedbackform");
  var overlay = $("#overlay");

  if (!container.is(e.target) // if the target of the click isn't the container...
    && container.has(e.target).length === 0) // ... nor a descendant of the container
  {
    $('#feedbackform').fadeOut('fast'),
    $('#overlay').fadeOut('fast');
  }
});

Это отлично работает на рабочем столе, но не на сенсорных мобильных устройствах.

Я предполагаю, что это связано с mouseup, есть предложения?

Крейг.


person Lovelock    schedule 22.06.2014    source источник


Ответы (1)


Классические события не будут работать точно так же на мобильных устройствах (за исключением некоторых событий, таких как «щелчок», который совершенно аналогичен).

Итак, теперь у вас есть несколько событий для мобильных устройств с именем touch events : https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Touch_events

Так что touchend, вероятно, тот, который вы хотите использовать:

$(document).on('mouseup touchend', function (e){

[...]

});
person Oliboy50    schedule 22.06.2014
comment
Спасибо за ответ. Это событие, кажется, срабатывает после того, как я нажимаю кнопку. У меня есть ссылка, которая имеет функцию onclick, чтобы показать наложение и div. Однако при нажатии на эту кнопку они отображаются, но сразу исчезают... - person Lovelock; 23.06.2014