JQuery StopPropagation для нажатия на Android - PullRequest
0 голосов
/ 28 августа 2018

У меня есть «скрываемый» элемент, он скрывается, когда пользователь щелкает по нему, за исключением случаев, когда пользователь щелкает текстовое поле ввода, скрипт очень прост:

$('#main_table #sidebar .mini_hid').click(function(){
    $('#main_table #sidebar').removeClass('show');
});
$('#main_table #sidebar .mini_hid input[type="text"]').click(function(e){
    e.stopPropagation();
});

Чтобы скрыть элемент, я удаляю класс «show», и чтобы не вызывать его, щелкая текстовое поле, я использую stopPropagation.

Это прекрасно работает на компьютерах и Mac, но на устройствах Android не работает stopPropagation, поэтому, когда пользователь нажимает на текстовое поле, весь элемент скрывается.

Мне нужно, чтобы stopPropagation () работал, чтобы не скрывать свой контейнер.

1 Ответ

0 голосов
/ 28 августа 2018

Хорошо. Я решил эту проблему, изменив событие click для mouseup.

$('#main_table #sidebar .mini_hid').mouseup(function(){
    $('#main_table #sidebar').removeClass('show');
});
$('#main_table #sidebar .mini_hid input[type="text"]').mouseup(function(e){
    e.stopPropagation();
});

Это не полное решение, а обходной путь.

...