Как временно отключить все касания на экране и включить его снова

Благодаря @tomaszbak для оригинального решения, так как мои изменения были отклонены, и я не могу прокомментировать его сообщение, но я оставлю здесь немного улучшенную и более читаемую версию.

Это в основном то же самое, но если исправить проблему совместимости кросс-браузера, которую я имел с его.

$(document).ready(function(){
   // go to hash on window load
   var hash = window.location.hash;
   if (hash) {
       $('ul.nav a[href="' + hash + '"]').tab('show');
   }
   // change hash on click
   $('.nav-tabs a').click(function (e) {
       $(this).tab('show');
       if($('html').scrollTop()){
           var scrollmem = $('html').scrollTop(); // get scrollbar position (firefox)
       }else{
           var scrollmem = $('body').scrollTop(); // get scrollbar position (chrome)
       }
       window.location.hash = this.hash;
       $('html,body').scrollTop(scrollmem); // set scrollbar position
   });
});
0
задан Mike Gorospe 26 February 2019 в 10:45
поделиться

2 ответа

Вы можете сделать это, используя хитрость.

  • Отображение прозрачного вида над корневым видом для отключения щелчка.
  • Скрыть этот вид для включения кликов

Спасибо

0
ответ дан Sohel S9 26 February 2019 в 10:45
поделиться

переопределить dispatchTouchEvent в действии

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        if (!isSomethingInProcess) {
            return super.dispatchTouchEvent(ev);
        } else {
            return false;
        }
    }
0
ответ дан parliament 26 February 2019 в 10:45
поделиться
Другие вопросы по тегам:

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