首先普及一下鼠标左右键值的相关方法:

  1、event.x 鼠标横轴 
  2、event.y 鼠标纵轴 
  3、event.keycode 键盘值 
  4、events.button==0 默认。没有按任何按钮。 
  5、events.button==1 鼠标左键 
  6、events.button==2 鼠标右键 
  7、events.button==3 鼠标左右键同时按下 
  8、events.button==4 鼠标中键 
  9、events.button==5 鼠标左键和中键同时按下 
  10、events.button==6 鼠标右键和中键同时按下 
  11、events.button==7 所有三个键都按下

  下面列举几个网页上常用的JavaScript事件的例子,有的我们平时已经再用,主要操作对象是键盘和鼠标,比如判断鼠标哪个按键被点击、鼠标的光标坐标、被按下键的unicode码是多少、当前鼠标的光标相对于屏幕的坐标是多少、shift键是否按下等,下面我们一一来看具体对应的代码:

一、判断当前网页被点击的是哪一个元素:

<html>
<head>
<meta charset="utf-8" />
<title>被点击的是哪一个元素</title>
</head>
<body onmousedown="whichElement(event)">
<p>在这里点击看看,这里是p</p>
<h3>或者点击这里,这里是h3</h3>
<p>你点我吗??</p>
<img src="img/18.jpg" width="">
<script type="text/javascript">
function whichElement(e) {
var targ;
// 如果没有传参,默认的事件将会是window.event;那个触发便是那个;
if(!e) {
var e = window.event;
}
// 事件具体指向的事件源
if(e.target) {
targ = e.target;
} else if (e.srcElement) {
targ = e.srcElement;
}
// defeat Safari bug
if(targ.nodeType == ) {
targ = targ.parentNode;
}
var tname = targ.tagName;
alert("你点击了 " + tname + "元素")
}
</script>
</body>
</html>

二、判断shift键是否按下:

<html>

    <head>
<title>shift键是否按下?</title>
<script type="text/javascript">
function isKeyPressed(event) {
if(event.shiftKey == 1) {
alert("shit键按下了!")
} else {
alert("shit键没有按下!")
}
}
</script>
</head> <body onmousedown="isKeyPressed(event)">
<p>按下shit键,点击你鼠标的左键</p>
</body> </html>

三、判断当前鼠标的光标坐标是多少?

<html>
<head>
<title>当前鼠标的光标是多少?</title>
<script type="text/javascript">
function coordinates(event) {
x = event.x
y = event.y
alert("X=" + x + " Y=" + y)
}
</script>
</head>
<body onmousedown="coordinates(event)">
<p>点击你鼠标的左键</p>
</body>
</html>

四、判断当前鼠标光标相对于屏幕坐标是多少?

<html>
<head>
<title>鼠标光标相对于屏幕的坐标</title>
<script type="text/javascript">
function coordinates(event) {
x = event.screenX
y = event.screenY
alert("X=" + x + " Y=" + y)
}
</script>
</head>
<body onmousedown="coordinates(event)">
<p>点击鼠标左键</p>
</body>
</html>

五、获取被按下的键盘任意键的unicode码是多少?

<html>
<head>
<title>获取被按下键的unicode码</title>
<script type="text/javascript">
function whichButton(event) {
alert(event.keyCode)
}
</script>
</head>
<body onkeyup="whichButton(event)">
<p>请按下键盘上的任意键</p>
</body>
</html>

六、检测获取当前鼠标光标的坐标是多少?

<html>
<head>
<title>获取鼠标光标坐标</title>
<script type="text/javascript">
function show_coords(event) {
x = event.clientX
y = event.clientY
alert("X 坐标: " + x + ", Y 坐标: " + y)
}
</script>
</head>
<body onmousedown="show_coords(event)">
<p>请按下鼠标左键看看!</p>
</body>
</html>

七、判断鼠标的哪个按键被点击?

<html>
<head>
<title>检测鼠标的哪个按键被点击?</title>
<script type="text/javascript">
function whichButton(event) {
if(event.button == 2) {
alert("你点击了右键!")
} else {
alert("你点了左键!")
}
}
</script>
</head>
<body> </body>
<html>

以上这些方法差不多可以让我么认识鼠标的一下事件了。

几个常用的JS鼠标键盘事件例子的更多相关文章

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

    写在前面 最近公司在搞浏览器兼容的事情,所有浏览器兼容的问题不得不一个人包了.下面来说一下今天遇到的一个问题吧 大家都知道IE下面如果要获得剪贴板里面的信息的话,代码应该如下所示 window.cli ...

  2. Selenium4.0+Python3系列(四) - 常见元素操作(含鼠标键盘事件)

    一.写在前面 上篇文章介绍的是关于浏览器的常见操作,接下来,我们将继续分享关于元素的常见操作,建议收藏.转发! 二.元素的状态 在操作元素之前,我们需要了解元素的常见状态. 1.常见元素状态判断,傻傻 ...

  3. Linux 模拟 鼠标 键盘 事件

    /************************************************************************ * Linux 模拟 鼠标 键盘 事件 * 说明: ...

  4. Python——pyHook监听鼠标键盘事件

    pyHook包为Windows中的全局鼠标和键盘事件提供回调. 底层C库报告的信息包括事件的时间,事件发生的窗口名称,事件的值,任何键盘修饰符等. 而正常工作需要pythoncom等操作系统的API的 ...

  5. Python - selenium_WebDriver 鼠标键盘事件

    from selenium import webdriver #引入ActionChains类 提供了鼠标的操作方法 from selenium.webdriver.common.action_cha ...

  6. Tkinter 鼠标键盘事件(一)

    一: 鼠标事件 <Button-1>                                                                     鼠标左键单击 ...

  7. js(鼠标键盘拖动事件)

    拖动事件是h5(HTML5的) 1:draggable(true) 2:拖动源 ondragstart ,ondragend 3:目的地 ondraglenter,ondragover,ondragl ...

  8. js浏览器键盘事件控制(转自新浪微博)

    js键盘事件全面控制 主要分四个部分第一部分:浏览器的按键事件第二部分:兼容浏览器第三部分:代码实现和优化第四部分:总结 第一部分:浏览器的按键事件 用js实现键盘记录,要关注浏览器的三种按键事件类型 ...

  9. JS获取键盘事件

    <script type="text/javascript" language=JavaScript charset="UTF-8"> docume ...

随机推荐

  1. opencv图片坐标和数组坐标

    图片坐标和数组坐标是相反的,坐标原点位于左上角 import numpy as np import cv2 height, width = 150, 200 img = np.zeros((heigh ...

  2. .NET轻量级任务管理类

    概述 最近做项目总是遇到服务跑批等需求,一直想写个任务管理的DLL,现在整理了一下思路,编写了一个DLL类库,使用方便.只要调用的子类继承服务基类便可以实现任务的整体调度.先看看页面效果: 使用方式 ...

  3. noip2017逛公园

    题解: 之前知道正解并没有写过.. #include <bits/stdc++.h> using namespace std; #define rint register int #def ...

  4. BZOJ 3745

    题解: 分治好题 首先暴力显然rmq可以做到n^2 比较容易想到是以最值分治,这样在数据随机复杂度是nlogn,不随机还是n^2的 以最值分治只有做多与较小区间复杂度相同才是nlogn的 而这题里我们 ...

  5. scrapy中输出中文保存中文

    1.json文件中文解码: #!/usr/bin/python #coding=utf-8 #author=dahu import json with open('huxiu.json','r') a ...

  6. 基于AspNet Core2.0 开发框架,包含简单的个人博客Demo

    大家好,最近离职了,利用闲暇时间就捣鼓了一个基于AspNet Core开发框架,分享出来希望能给AspNet Core学者带来一些帮助,同时也能跟大家一起学习.当然了,由于我的个人技术及经验的有限,框 ...

  7. javascript 和 下拉列表

    <form id="f"> <select size="1" name="s"> <option value= ...

  8. Flink的广播变量

    Flink支持广播变量,就是将数据广播到具体的taskmanager上,数据存储在内存中,这样可以减缓大量的shuffle操作: 比如在数据join阶段,不可避免的就是大量的shuffle操作,我们可 ...

  9. 054 kafka内部机制

    一:数据格式与数据存储 1.总结 存储在磁盘文件中(index+log) 顺序读写的 基于offset偏移量来管理数据的(主要是读操作) 由分区器根据key值决定数据分布到哪个分区,默认使用hash ...

  10. HDFS分布式文件系统的常用命令行操作

    一.HDFS的客户端种类 1.网页形式  =>用于测试 网址为你的namenode节点的ip+50070的端口号,如: 192.168.50.128:50070 2.命令行形式 =>用于测 ...