javascript 每当用户输入类型更改(鼠标或触摸)时运行回调。用于根据输入设备启用/禁用代码。钍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 每当用户输入类型更改(鼠标或触摸)时运行回调。用于根据输入设备启用/禁用代码。钍相关的知识,希望对你有一定的参考价值。

/*
Use two event listeners. 
Assume mouse input initially and bind a touchstart event listener to the document. 
On touchstart, add a mousemove event listener to listen for two consecutive mousemove events firing within 20ms, using performance.now(). 
Run the callback with the input type as an argument in either of these situations.
*/
const onUserInputChange = callback => {
  let type = 'mouse',
    lastTime = 0;
  const mousemoveHandler = () => {
    const now = performance.now();
    if (now - lastTime < 20)
      (type = 'mouse'), callback(type), document.removeEventListener('mousemove', mousemoveHandler);
    lastTime = now;
  };
  document.addEventListener('touchstart', () => {
    if (type === 'touch') return;
    (type = 'touch'), callback(type), document.addEventListener('mousemove', mousemoveHandler);
  });
};

/* example:
onUserInputChange(type => {
  console.log('The user is now using', type, 'as an input method.');
});
*/

以上是关于javascript 每当用户输入类型更改(鼠标或触摸)时运行回调。用于根据输入设备启用/禁用代码。钍的主要内容,如果未能解决你的问题,请参考以下文章

使用JavaScript完成表单的校验

javascript:在用户键入或更改文本框值时忽略无效输入[重复]

HTML输入类型编号 - 如何知道“步骤”功能触发更改事件?

事件:事件类型

使用 Javascript 或 jquery 更改公式中两个输入字段的值

以编程方式更改键盘输入语言