资讯专栏INFORMATION COLUMN

js模拟键盘事件方法

Lowky / 1321人阅读

摘要:方法定义浏览器下模拟事件浏览器下模拟事件为了模拟为了模拟键浏览器下模拟事件方法调用

方法定义
export function fireKeyEvent(el, evtType, keyCode) {
  var evtObj;
  if (document.createEvent) {
      if (window.KeyEvent) {//firefox 浏览器下模拟事件
          evtObj = document.createEvent("KeyEvents");
          evtObj.initKeyEvent(evtType, true, true, window, true, false, false, false, keyCode, 0);
      } else {//chrome 浏览器下模拟事件
          evtObj = document.createEvent("UIEvents");
          evtObj.initUIEvent(evtType, true, true, window, 1);

          delete evtObj.keyCode;
          if (typeof evtObj.keyCode === "undefined") {//为了模拟keycode
              Object.defineProperty(evtObj, "keyCode", { value: keyCode });                       
          } else {
              evtObj.key = String.fromCharCode(keyCode);
          }

          if (typeof evtObj.ctrlKey === "undefined") {//为了模拟ctrl键
              Object.defineProperty(evtObj, "ctrlKey", { value: true });
          } else {
              evtObj.ctrlKey = true;
          }
      }
      el.dispatchEvent(evtObj);

  } else if (document.createEventObject) {//IE 浏览器下模拟事件
      evtObj = document.createEventObject();
      evtObj.keyCode = keyCode
      el.fireEvent("on" + evtType, evtObj);
  }
}
方法调用
fireKeyEvent(document.getElementById("aa"),"keydown",40);

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/109799.html

相关文章

  • 【重温基础】20.事件

    摘要:本文是重温基础系列文章的第二十篇。事件捕获为截获事件提供机会,然后实际的目标接收到事件,最后事件冒泡,对事件作出响应。事件处理事件处理,即响应某个事件。包括导致事件的元素事件类型等其他信息。 本文是 重温基础 系列文章的第二十篇。 这是第三个基础系列的第一篇,欢迎持续关注呀! 重温基础 系列的【初级】和【中级】的文章,已经统一整理到我的【Cute-JavaScript】的Java...

    Blackjun 评论0 收藏0
  • 初识 jquery.simulate.js 模拟键盘事件

    摘要:用和实现模拟键盘事件,点击上下左右相当于点击键盘的上下左右键为或语句,当不能识别时候,就执行赋值字母和数字键的键码值分别对应左上右下图形左移图形上移你点击了右键图形右移图形下移 用jquery 和 jquery.simulate.js 实现模拟键盘事件,点击上下左右div相当于点击键盘的上下左右键 ...

    rollback 评论0 收藏0
  • 初识 jquery.simulate.js 模拟键盘事件

    摘要:用和实现模拟键盘事件,点击上下左右相当于点击键盘的上下左右键为或语句,当不能识别时候,就执行赋值字母和数字键的键码值分别对应左上右下图形左移图形上移你点击了右键图形右移图形下移 用jquery 和 jquery.simulate.js 实现模拟键盘事件,点击上下左右div相当于点击键盘的上下左右键 ...

    XboxYan 评论0 收藏0
  • 原生js练习题---第五课

    摘要:那该如何是好原题给出思路是让事件负责标记按键就好了,而方向键的事件处理使用设个周期比较小的定时器持续监听,由于周期小,长按时就会立刻执行相应的事件处理,效果更加流畅。闪烁实现效果闪烁简单的一个定时器应用,用或都可以实现。 0x1模拟select控件 实现效果:5-01模拟select控件 比较简单的点击事件处理,也就处理点击选择框展示菜单、点击菜单选择、点击页面任意角落隐藏菜单这三件事...

    winterdawn 评论0 收藏0
  • jQuery入门笔记之(三)事件详解

    摘要:可以传递三个参数表示一个或多个事件类型,比如。表示绑定到指定元素的处理函数。我们称它为简写事件。必须在中,并且使用作为事件触发元素,不然无效。和表示鼠标移入和移出的时候触发。按下返回按下返回和分别表示光标激活和丢失,事件触发时机是当前元素。 转自个人博客 在JavaScript 有一个非常重要的功能,就是事件驱动。如果你的网页需要与用户进行交互的话,就不可能不用到事件。它在页面完全加...

    GitCafe 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<