JavaScript 模拟键盘事件和鼠标事件(比如模拟按下回车等)
http://blog.csdn.net/lovelyelfpop/article/details/52471878#
封装好的function大概就是这样:
- function fireKeyEvent(el, evtType, keyCode){
- var doc = el.ownerDocument,
- win = doc.defaultView || doc.parentWindow,
- evtObj;
- if(doc.createEvent){
- if(win.KeyEvent) {
- evtObj = doc.createEvent('KeyEvents');
- evtObj.initKeyEvent( evtType, true, true, win, false, false, false, false, keyCode, 0 );
- }
- else {
- evtObj = doc.createEvent('UIEvents');
- Object.defineProperty(evtObj, 'keyCode', {
- get : function() { return this.keyCodeVal; }
- });
- Object.defineProperty(evtObj, 'which', {
- get : function() { return this.keyCodeVal; }
- });
- evtObj.initUIEvent( evtType, true, true, win, 1 );
- evtObj.keyCodeVal = keyCode;
- if (evtObj.keyCode !== keyCode) {
- console.log("keyCode " + evtObj.keyCode + " 和 (" + evtObj.which + ") 不匹配");
- }
- }
- el.dispatchEvent(evtObj);
- }
- else if(doc.createEventObject){
- evtObj = doc.createEventObject();
- evtObj.keyCode = keyCode;
- el.fireEvent('on' + evtType, evtObj);
- }
- }
使用方法: 假设模拟回车
- fireKeyEvent(topWin.__activeElement, 'keydown', 13); //第一个参数时html元素
JavaScript 模拟键盘事件和鼠标事件(比如模拟按下回车等)的更多相关文章
- 前端(十五)—— JavaScript事件:绑定事件方式、事件的冒泡和默认事件、鼠标事件、键盘事件、表单 事件、文档事件、图片事件、页面事件
JS事件:绑定事件方式.事件的冒泡和默认事件.鼠标事件.键盘事件.表单 事件.文档事件.图片事件.页面事件 一.事件的两种绑定方式 1.on事件绑定方式 document.onclick = func ...
- Unity3D笔记十六 输入输出-键盘事件、鼠标事件
输入与控制操作Unity为开发者提供了Input类库,其中包括键盘事件.鼠标事件和触摸事件等一切跨平台所需要的控制事件. 一.键盘事件 1.按下事件 Input.GetKeyDown():如果按键被按 ...
- JAVA之旅(三十一)——JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件
JAVA之旅(三十一)--JAVA的图形化界面,GUI布局,Frame,GUI事件监听机制,Action事件,鼠标事件 有段时间没有更新JAVA了,我们今天来说一下JAVA中的图形化界面,也就是GUI ...
- 整理之DOM事件阶段、冒泡与捕获、事件委托、ie事件和dom模型事件、鼠标事件
整理之DOM事件阶段 本文主要解决的问题: 事件流 DOM事件流的三个阶段 先理解流的概念 在现今的JavaScript中随处可见.比如说React中的单向数据流,Node中的流,又或是今天本文所讲的 ...
- Python模拟键盘输入和鼠标操作
Python模拟键盘输入和鼠标操作 一.Python键盘输入模拟: import win32api import win32con win32api.keybd_event(17,0,0,0) #c ...
- JavaScript(js)处理的HTML事件、键盘事件、鼠标事件
示例代码: HTML文件: <!DOCTYPE html><html lang="en"><head> <meta charset=&qu ...
- c#全局鼠标事件以及鼠标事件模拟
最近在编写Max插件时,其主容器FlowLayoutPanel由于隐藏了滚动条,要实现按住鼠标中键上下拖动的功能,因此尝试了全局鼠标事件.以及鼠标勾子,可惜由于Max不争气?都未能实现,于是代码报废, ...
- 吴裕雄--天生自然python学习笔记:python 用pygame模块检测键盘事件和鼠标事件
用户可通过键盘输入来操控游戏中角色的运动,取得键盘事件的方法有以下两种 : 常用的按键与键盘常数对应表 : 按下右箭头键,蓝色小球会 向 右移动:按住右箭头键不放 , 球体会快速 向 右移 动, 若到 ...
- 使用C#模拟键盘输入、鼠标移动和点击、设置光标位置及控制应用程序的显示
1.模拟键盘输入(SendKeys) 功能:将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样. 语法:SendKeys.Send(string keys);SendKeys.SendWa ...
- jQuery-3.事件篇---鼠标事件
jQuery鼠标事件之click与dbclick事件 用交互操作中,最简单直接的操作就是点击操作.jQuery提供了两个方法一个是click方法用于监听用户单击操作,另一个方法是dbclick方法用于 ...
随机推荐
- js实现各种复制到剪贴板的方法
一.实现点击按钮,复制文本框中的的内容 <script type="text/javascript"> function copyUrl2() { var Url2=d ...
- txt写入时报错出现:正由另一进程使用,原来是多此一举的操作
//if (!File.Exists(newfilepath + "\\" + name + num + ".txt")) //{ // File.Create ...
- 13.Mysql触发器
13.触发器13.1 创建触发器定义:触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合.语法:create trigger 触发器名称 触发时机 触发事件 on 表名 ...
- MySql数据库 sql查询增加序号的伪列
在查询数据库的时候,我们有时候需要对查询出来的数据加上序列,1,2,3,……n 例如:我们根据表的某个字段排序后,要对这些数据加上序列,这个时候序号常常不是我们建表时设置好的自增的主键id,怎么办呢? ...
- SSH原理与运用(一):远程登录(转)
作者: 阮一峰 日期: 2011年12月21日 SSH是每一台Linux电脑的标准配置. 随着Linux设备从电脑逐渐扩展到手机.外设和家用电器,SSH的使用范围也越来越广.不仅程序员离不开它,很 ...
- 一个比较有意思的SDN网络技术相关blog/doc
http://feisky.xyz/sdn/linux/index.html 涵盖了目前主流的网络技术,所有比较有意思的内容全都覆盖了 SDN网络 目录 基本网络 TCP/IP标准模型 DHCP与DN ...
- Android.InstallAntOnMacOSX
在Mac OS X上安装ant http://blog.csdn.net/crazybigfish/article/details/18215439
- 洛谷1984 [SDOI2008]烧水问题
一道找规律 原题链接 显然要将烧得的温度最大化利用,即每次都去热传递. 设水沸腾为\(x\). 第一杯直接烧水,需提高\(x\). 第二杯先与第一杯进行热传递,这样只需提高\(\dfrac{x}{2} ...
- Codeforces559C Gerald and Giant Chess
一道计数类\(DP\) 原题链接 我们可以先计算从左上角到右下角总的路径,再减去经过黑色方格的路径即是答案. 总路径数可以用组合数直接计算:\(C_{H+W-2}^{H-1}\) 因为从左上角到右下角 ...
- python基础易错题
1.以下代码输入什么: class Person: a = 1 def __init__(self): pass def getAge(self): print(__name__) p = Perso ...