鼠标键盘事件

1、获取鼠标位置

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>获得鼠标的坐标值----当需求为获得的坐标值相对于body时</title>

</head>

<body>

<div style=" width:500px; margin:100px auto;">
<p id="x"></p>
<p id="y"></p>
</div>

<script type="text/javascript">

var x , y;

//当需求为获得的坐标值相对于body时,用:
function positionBody(event){
event = event||window.event;
//获得相对于body定位的横标值;
x=event.clientX
//获得相对于body定位的纵标值;
y=event.clientY
}

//应用:
document.onmousemove = function(event){
positionBody(event);
document.getElementById("x").innerHTML = "x= " + x + "px";
document.getElementById("y").innerHTML = "y= " + y + "px";
}

</script>

</body>
</html>

2、获得鼠标的坐标值----当需求为获得的坐标值相对于body时

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>获得鼠标的坐标值----当需求为获得的坐标值相对于body时</title>

</head>

<body>

<div style=" width:500px; margin:100px auto;">
<p id="x"></p>
<p id="y"></p>
</div>

<script type="text/javascript" language=JavaScript charset="UTF-8">
document.onkeydown = function(event) {
var e = event || window.event || arguments.callee.caller.arguments[0];  //获取事件(最后一个是火狐)
if(e && e.keyCode == 27) { // 按 Esc
//要做的事情
alert("按下esc")
}
if(e && e.keyCode == 113) { // 按 F2
//要做的事情
alert("按下f2")
}
if(e && e.keyCode == 13) { // enter 键
//要做的事情
alert("按下enter")
}
};
</script>

</body>

</html>

3、控制人物走动

<html>

    <head>

        <meta charset="utf-8" />

        <title>人物走动</title>

    </head>

    <body onkeydown="show()">

        <ul style="posttion:absolute;border:1px solid #999;list-style:none;width:150px;padding:20px;background:#ffffef;">

            <li>w:向上</li>

            <li>s:向下</li>

            <li>a:向左</li>

            <li>d:向右</li>

            <li>空格:停止</li>

        </ul>

        <div style="position:absolute;top:0;left:0" id=‘di‘><img src="http://files.jb51.net/file_images/article/201408/201482791327688.gif?201472791345" id="img"></div>

        <script>

            var img1=‘http://files.jb51.net/file_images/article/201408/201482791656841.gif?201472791722‘;

            var img2=‘http://files.jb51.net/file_images/article/201408/201482791327688.gif?201472791345‘;

            var x=0;

            var y=0;

            var xs=0;

            var ys=0;

            var flag=true;

            var zq=null;

            function ks(){

                zq=setInterval(function(){ 

                    var s=document.getElementById(‘img‘);  

                    var str=s.src;

                    var area=document.getElementById(‘di‘);

                    var xpos=parseInt(area.style.left);

                    var ypos=parseInt(area.style.top);

                    x=x+xs;

                    y=y+ys;

                    area.style.left=x;

                    area.style.top=y;

                    var pos=str.lastIndexOf(‘/‘)+1;

                    var hz=str.substr(pos);

                    if(hz==img1){

                        s.src= img2;

                    }else{

                        s.src= img1;

                    }              

                },50);

            }

            ks();

            function show(){

                var sz=window.event.keyCode;

                switch(sz){

                    case 87:

                        img1=‘http://files.jb51.net/file_images/article/201408/ren_h_1.gif‘;

                        img2=‘http://files.jb51.net/file_images/article/201408/ren_h_2.gif‘;

                        ys=-5;

                        xs=0;

                        break;

                    case 65:

                        img1=‘http://files.jb51.net/file_images/article/201408/ren_l_1.gif‘;

                        img2=‘http://files.jb51.net/file_images/article/201408/ren_l_2.gif‘;

                        xs=-5;

                        ys=0;

                        break;

                    case 68:

                        img1=‘http://files.jb51.net/file_images/article/201408/ren_r_1.gif‘;

                        img2=‘http://files.jb51.net/file_images/article/201408/ren_r_2.gif‘;

                        xs=5;

                        ys=0;

                        break;

                    case 83:

                        img1=‘http://files.jb51.net/file_images/article/201408/ren_q_1.gif‘;

                        img2=‘http://files.jb51.net/file_images/article/201408/ren_q_2.gif‘;

                        ys=5;

                        xs=0;

                        break;

                    case 32:

                      if(flag){

                          clearInterval(zq);

                          flag=false;

                          break;

                       }

                    case 13:

                     if(!flag){

                         ks();

                         flag=true;

                        break;

                      }

                }

            }

        </script>

    </body>

</html>

时间: 2024-10-16 14:51:23

鼠标键盘事件的相关文章

Python - selenium_WebDriver 鼠标键盘事件

from selenium import webdriver #引入ActionChains类 提供了鼠标的操作方法 from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.keys import Keys from ReadTxt_demo import readTxt import time #鼠标键盘事件 ''' ActionChains 常用方法 per

Linux 模拟 鼠标 键盘 事件

/************************************************************************ * Linux 模拟 鼠标 键盘 事件 * 说明: * 以前看到有些软件能够控制鼠标移动,键盘操作等功能,总想知道这些到底 * 是怎么做到的,好像是2年前也尝试去做这件事,但那时候对知识的匮乏直接导致 * 无法进行,早上突然想到这件事,于是又搜索了一下,鉴于目前经常接触Linux * 驱动,对这些东西的理解也就很容易. * * 2016-2-27 深

selenium鼠标键盘事件(转)

概念 在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 WebDeriver 中,有一个专门的类来负责实现这些测试场景,那就是 Actions 类,在使用该类的过程中会配合使用到 Keys 枚举以及 Mouse. Keyboard.CompositeAction 等类. 其次,在实际测试过程中,可能会遇到某些按键没办法使用 Actions.Keys

Selenese 命令清单 - 鼠标键盘事件控制命令

点击链接加入群[悦分享测试联盟]:https://jq.qq.com/?_wv=1027&k=5DiePik 简介 Selenium为用户提供了大量的Selenese命令,可以非常方便的为用户编写脚本实用,其中实际场景运用需要的并不多,为了能更好的利用这些命令,我对几乎所有Selenese命令做了分类,分类内容如下: 包含操作页面元素常用命令,以及一些不常用到的高级使用命令 对鼠标键盘事件控制命令 wait相关命令 veriy相关命令 assert相关命令 store存储器相关命令 Part I

做UI最全的鼠标键盘事件!

在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 WebDeriver 中,有一个专门的类来负责实现这些测试场景,那就是ActionChains类,在使用该类做键盘操作的过程中会配合使用到 Keys 数据存储类,Keys包含键盘上所有特殊按键. 一.鼠标点击操作 click(element=None)左击context_click(element=N

java GUI(鼠标键盘事件)

/* * */ import java.awt.*; import java.awt.event.*; public class MouseAndEvent { private Frame f; private Button but; private TextField tf; MouseAndEvent() { init(); } //对图形化界面进行初始化. public void init() { f=new Frame("my frame"); //对frame进行基本设置,该

由chrome剪贴板问题研究到了js模拟鼠标键盘事件

写在前面 最近公司在搞浏览器兼容的事情,所有浏览器兼容的问题不得不一个人包了.下面来说一下今天遇到的一个问题吧 大家都知道IE下面如果要获得剪贴板里面的信息的话,代码应该如下所示 window.clipboardData.getData("Text") 可是在chrome下面就行不通了,chrome下面没有类似ie的这种方法,那应该怎么办呢,百度了一下,发现还真有办法. 只要在HTML界面上放上一个text类型的控件,如下所示 <textarea id="textAre

自动化测试基础篇--Selenium鼠标键盘事件

前面几篇文章我们学习了怎么定位元素,同时通过实例也展示了怎么切换到iframe,怎么输入用户名和密码,怎么点击登录按钮,首先我们先回顾一下元素的基本操作. 1.点击(鼠标左键)页面按钮:click() 2.请空输入框:clear() 3.输入字符串:send_keys() 4.提交表单:submit() 今天这篇文章着重讲一下键盘和鼠标的模拟事件. 一.鼠标事件 1.首先模拟鼠标的操作需要先导入鼠标模块: from selenium.webdriver.common.action_chains

Selenium 鼠标键盘事件

鼠标事件-概述 1.单击 click().click(WebElement onElement) 2.双击doubleClick() . doubleClick(WebElement onElement) 3.右击contextClick(). contextClick(WebElement onElement) 4.移动/悬浮 moveByOffset(int xOffset, int yOffset).moveToElement(WebElement toElement).moveToEle

c# 使用hook来监控鼠标键盘事件的示例代码

如果这个程序在10几年前,QQ刚刚兴起的时候,有了这个代码,就可实现盗号了. 当然使用钩子我们更多的是实现"全局快捷键"的需求. 比如 程序最小化隐藏后要"某快捷键"来启动它. 钩子(hook),通俗的讲,她可以捕获到你的键盘和鼠标的相关操作消息. 关于hook的相关代码网上一搜一箩筐,这是整理起来比较完善和使用最方便的. //Declare wrapper managed POINT class. [StructLayout(LayoutKind.Sequenti