Обнаружение, когда мышь не движется

@ hop5 и @RnMss предложили использовать C ++ 11 lambdas, но если вы имеете дело с указателями, вы можете использовать их напрямую:

#include 
#include 

class CFoo {
  public:
    int m_i = 0;
    void bar() {
      ++m_i;
    }
};

int main() {
  CFoo foo;
  std::thread t1(&CFoo::bar, &foo);
  t1.join();
  std::thread t2(&CFoo::bar, &foo);
  t2.join();
  std::cout << foo.m_i << std::endl;
  return 0;
}

выходы

2

Переписанный образец из этого ответа был бы тогда:

#include 
#include 

class Wrapper {
  public:
      void member1() {
          std::cout << "i am member1" << std::endl;
      }
      void member2(const char *arg1, unsigned arg2) {
          std::cout << "i am member2 and my first arg is (" << arg1 << ") and second arg is (" << arg2 << ")" << std::endl;
      }
      std::thread member1Thread() {
          return std::thread(&Wrapper::member1, this);
      }
      std::thread member2Thread(const char *arg1, unsigned arg2) {
          return std::thread(&Wrapper::member2, this, arg1, arg2);
      }
};

int main() {
  Wrapper *w = new Wrapper();
  std::thread tw1 = w->member1Thread();
  tw1.join();
  std::thread tw2 = w->member2Thread("hello", 100);
  tw2.join();
  return 0;
}

18
задан splattne 4 March 2009 в 10:24
поделиться

6 ответов

Установите тайм-аут, когда мышь перемещена одна минута в будущее, и если мышь перемещена, очистите тайм-аут:

var timeout;
document.onmousemove = function(){
  clearTimeout(timeout);
  timeout = setTimeout(function(){alert("move your mouse");}, 60000);
}
47
ответ дан 30 November 2019 в 02:39
поделиться

Разве нет ли способа установить таймер, чтобы начать увеличивать после каждого события движения мыши?

Если это добирается до минуты, затем открываются окно сообщения, но каждый раз мышь перемещается, таймер сбрасывается.

1
ответ дан 30 November 2019 в 02:39
поделиться

Используйте таймер, который сбрасывает его значение на событии mouseMove. Если таймер достигает, 1 минута-> Делают что-то.

Больше информации о таймере здесь http://www.w3schools.com/js/js_timing.asp
И больше информации о ловле событий от нажатия мыши здесь http://www.quirksmode.org/js/events_mouse.html

1
ответ дан 30 November 2019 в 02:39
поделиться

Да, у Вас есть onmousemove событие в JavaScript, так для достижения того, что Вам нужны Вы, просто должны сделать, кодируют что-то вроде этого:

startTimer();
element.onmousemove = stopTimer(); //this stops and resets the timer

Можно использовать его на теге основного текста документа, например.

ОБНОВЛЕНИЕ: @Marius достиг лучшего примера, чем этот.

1
ответ дан 30 November 2019 в 02:39
поделиться

Можно использовать onmousemove событие. В нем, clearTimeout (), и setTimeout (your_warning, 1 минута).

0
ответ дан 30 November 2019 в 02:39
поделиться

Вы могли использовать этот сценарий/отрывок, чтобы обнаружить положение указателя мыши и "помнить" это. Затем используйте таймер "setTimeout (...)", чтобы проверять положение скажем, каждую секунду и помнить то время.

Если бы больше чем одна минута передала, и положение не изменилось, то Вы могли бы предупредить пользователя.

0
ответ дан 30 November 2019 в 02:39
поделиться
Другие вопросы по тегам:

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