javascript event详解

JavaScript中的event讲解及一些常见案例 JavaScript中的event就是发生在dom元素上的事件,你也许已经使用过不少dom事件,但是event对象在js中有很多强大并且常用的功能。本文将讲解部分常用event的属性方法。 阅读详情

event 代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。
event对象只在事件发生的过程中才有效。
event 的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。
例子

下面的例子检查鼠标是否在链接上单击,并且,如果shift键被按下,就取消链接的跳转。
code<HTML>
<HEAD><TITLE>Cancels Links</TITLE>
<SCRIPT LANGUAGE="JScript">
function cancelLink() {
    if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
    window.event.returnValue = false;
}
</SCRIPT>
<BODY onclick="cancelLink()">


下面的例子在状态栏上显示鼠标的当前位置。
code<BODY onmousemove="window.status = 'X=' + window.event.x + ' Y=' + window.event.y">


属性:

altKey, button, cancelBubble, clientX, clientY, ctrlKey, fromElement, keyCode, offsetX, offsetY, propertyName, returnValue, screenX,
screenY, shiftKey, srcElement, srcFilter, toElement, type, x, y

1.altKey
描述:
检查alt键的状态。

语法:
event.altKey

可能的值:
当alt键按下时,值为 TRUE ,否则为 FALSE 。只读。


2.button
描述:
检查按下的鼠标键。

语法:
event.button

可能的值:
0 没按键
1 按左键
2 按右键
3 按左右键
4 按中间键
5 按左键和中间键
6 按右键和中间键
7 按所有的键

     这个属性仅用于onmousedown, onmouseup, 和 onmousemove 事件。对其他事件,不管鼠标状态如何,都返回 0(比如onclick)。

3.cancelBubble
描述:
检测是否接受上层元素的事件的控制。

语法:
event.cancelBubble[ = cancelBubble]

可能的值:
这是一个可读写的布尔值:

TRUE 不被上层原素的事件控制。
FALSE 允许被上层元素的事件控制。这是默认值。

例子:
下面的代码片断演示了当在图片上点击(onclick)时,如果同时shift键也被按下,就取消上层元素(body)上的事件 onclick所引发的showSrc()函数。

code<SCRIPT LANGUAGE="JScript">
function checkCancel() {
    if (window.event.shiftKey)
    window.event.cancelBubble = true;
}
function showSrc() {
    if (window.event.srcElement.tagName == "IMG")
    alert(window.event.srcElement.src);
}
</SCRIPT>
<BODY onclick="showSrc()">
<IMG onclick="checkCancel()" SRC="sample.gif">

 

4.clientX
描述:
返回鼠标在窗口客户区域中的X坐标。

语法:
event.clientX

注释:
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。


5.clientY
描述:
返回鼠标在窗口客户区域中的Y坐标。

语法:
event.clientY

注释:
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。


6.ctrlKey
描述:
检查ctrl键的状态。

语法:
event.ctrlKey

可能的值:
           当ctrl键按下时,值为 TRUE ,否则为 FALSE 。只读。


7.fromElement
描述:
     检测 onmouseover 和 onmouseout 事件发生时,鼠标所离开的元素。 参考:18.toElement

语法:
     event.fromElement

注释:
      这是个只读属性。


8.keyCode
描述:
      检测键盘事件相对应的内码。
      这个属性用于 onkeydown, onkeyup, 和 onkeypress 事件。

语法:
      event.keyCode[ = keyCode]


可能的值:
这是个可读写的值,可以是任何一个Unicode键盘内码。如果没有引发键盘事件,则该值为 0 。


9.offsetX
描述:
      检查相对于触发事件的对象,鼠标位置的水平坐标

语法:
      event.offsetX


10.offsetY
描述:
      检查相对于触发事件的对象,鼠标位置的垂直坐标

语法:
       event.offsetY


11.propertyName
描述:
      设置或返回元素的变化了的属性的名称。

语法:
      event.propertyName [ = sProperty ]

可能的值:
      sProperty 是一个字符串,指定或返回触发事件的元素在事件中变化了的属性的名称。
      这个属性是可读写的。无默认值。

注释:
      你可以通过使用 onpropertychange 事件,得到 propertyName 的值。

例子:


下面的例子通过使用 onpropertychange 事件,弹出一个对话框,显示 propertyName 的值。

code<HEAD>
<SCRIPT>
function changeProp(){
    btnProp.value = "This is the new VALUE";
}

function changeCSSProp(){
    btnStyleProp.style.backgroundColor = "aqua";
}
</SCRIPT>
</HEAD>
<BODY>
<P>The event object property propertyName is
used here to return which property has been
altered.</P>

<INPUT TYPE=button ID=btnProp onclick="changeProp()"
VALUE="Click to change the VALUE property of this button"
onpropertychange='alert(event.propertyName+" property has changed value")'>
<INPUT TYPE=button ID=btnStyleProp
onclick="changeCSSProp()"
VALUE="Click to change the CSS backgroundColor property of this button"
onpropertychange='alert(event.propertyName+" property has changed value")'>
</BODY>

 

12.returnValue
描述:
      设置或检查从事件中返回的值

语法:
      event.returnValue[ = Boolean]

可能的值:
      true 事件中的值被返回
      false 源对象上事件的默认操作被取消

      例子见本文的开头。


13.screenX
描述:
      检测鼠标相对于用户屏幕的水平位置

语法:
      event.screenX


注释:
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。


14.screenY
描述:
      检测鼠标相对于用户屏幕的垂直位置

语法:
      event.screenY

注释:
      这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。


15.shiftKey
描述:
      检查shift键的状态。

语法:
      event.shiftKey

可能的值:
      当shift键按下时,值为 TRUE ,否则为 FALSE 。只读。


16.srcElement
描述:
      返回触发事件的元素。只读。例子见本文开头。

语法:
      event.srcElement


17.srcFilter
描述:
      返回触发 onfilterchange 事件的滤镜。只读。

语法:
      event.srcFilter


18.toElement
描述:
      检测 onmouseover 和 onmouseout 事件发生时,鼠标所进入的元素。 参考:7.fromElement

语法:
      event.toElement

注释:
       这是个只读属性。

 

例子:下面的代码演示了当鼠标移到按钮上时,弹出一个对话框,显示“mouse arrived”

code<SCRIPT>
function testMouse(oObject) {
    if(oObject.contains(event.toElement)) {
        alert("mouse arrived");
    }
}
</SCRIPT>
:
<BUTTON ID=oButton onmouseover="testMouse(this)">Mouse Over This.</BUTTON>

 

19.type
描述:
      返回事件名。

语法:
       event.type

注释:
      返回没有“on”作为前缀的事件名,比如,onclick事件返回的type是click
      只读。


20. x
描述:
     返回鼠标相对于css属性中有position属性的上级元素的x轴坐标。如果没有css属性中有 position属性的上级元素,默认以BODY元素作为参  考对象。

语法:
      event.x

注释:
      如果事件触发后,鼠标移出窗口外,则返回的值为 -1
      这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能 用它来更改鼠标的位置。


21. y
描述:
      返回鼠标相对于css属性中有position属性的上级元素的y轴坐标。如果没有css属性中有 position属性的上级元素,默认以BODY元素作为参考对象。

语法:
      event.y

注释:
      如果事件触发后,鼠标移出窗口外,则返回的值为 -1
      这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能 用它来更改鼠标的位置。

javascript学习——Event 对象详解 事件发生以后,会产生一个事件对象,作为参数传给监听函数。浏览器原生提供一个Event对象,所有的事件都是这个对象的实例,或者说继承了对象。Event对象本身就是一个构造函数,可以用来生成新的实例。构造函数接受两个参数。第一个参数type是字符串,表示事件的名称;第二个参数options是一个对象,表示事件对象的配置。该对象主要有下面两个属性。bubblesfalsecancelablefalse上面代码新建一个look事件实例,然后使用方法触发该事件。注意,如果不是显式指定bubbles属性为true。 阅读详情

相关推荐

告别深度学习!用5个麦克风搞定多说话人分离:ReTM算法保姆级教程

本文详细介绍了ReTM算法,这是一种无需深度学习、仅需5个麦克风即可实现多说话人语音分离的创新信号处理方法。它通过估计相对传递矩阵,利用空间物理信息在混响环境中分离语音,具有数据需求低、计算复杂度小、无需先验几何信息等优势,特别适合嵌入式设备和资源受限场景。

desk3的博客 160

JavaScript里的event

首先看一段js冒泡的代码,里面有用到event &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;&lt;/title&gt; &lt;/head&gt; &lt;body onclick="parentDivBtn()"&gt; &lt;div id="div1&quo

EmotionComputer 3611

调用D3D11硬解码和渲染VideoProcessor版本

在https://blog.youkuaiyun.com/robothn/article/details/78781321一文中使用shader来显示FFMPEG硬解码后的YUV420P,本文调用D3D11的videoprocessor来进行图像空间变换和尺寸变换,取得了较好的效果。 1.初始化D3D11设备、videodevice等数据结构 FFMPEG调用D3D11硬解码,获取其对应的device,videodevice。。。 FFMPEG使用av_hwdevice_find_type_by_name调用D3d11

zlyadvocate的博客 9285

JavaScript中的Event(事件)详解

Event 对象 Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。 事件通常与函数结合使用,函数不会在事件发生前被执行! 事件句柄 (Event Handlers) HTML 4.0 的新特性之一是能够使 HTML 事件触发浏览器中的行为,比如当用户点击某个 HTML 元素时启动一段 JavaScript。下面是一个属性列表,可将之插入 ...

时间静止 1万+

Codex智能体从零搭建:环境配置、代码管理与MCP扩展实战

AI智能体(Agent)作为连接大语言模型与实际应用的关键技术,通过感知、决策与执行框架,将AI能力融入具体工作流。其核心原理在于利用提示工程、上下文管理与工具调用,将自然语言指令转化为可执行操作。在软件开发领域,AI智能体能够显著提升代码生成、项目管理和自动化任务的效率。通过Model Context Protocol(MCP)等标准化协议,智能体可以安全、结构化地集成外部工具与服务,实现能力扩展。本文聚焦于Codex这一AI驱动的代码助手平台,详细解析其环境配置、代码索引、记忆系统等核心模块,并深入探讨

weixin_34220179的博客 594

S32K144之芯片锁死解锁——进入HardFault

S32K144之芯片锁死解锁——进入HardFault 最近遇到因为软件代码问题导致进入HardFault,从而使芯片锁死,来简述具体现象以及最终的解锁方法。 导致原因:如下图,在进行Gpio的相关配置,case后面没有break语句,导致芯片进入HardFault。 现象1:reset引脚持续为低,reset指示灯常亮。如果掉电后重新上电,通过示波器抓取reset引脚的波形,会有510us左右或者29ms左右的低电平脉冲出现,一般会出现两三次左右并且没有规矩,持续几秒的高电平之后,reset脚再次被拉低

weixin_41935674的博客 8276

【JavaScript】事件对象Event及其常见属性详解

event对象是浏览器自动生成的对象,当用户与页面进行交互时(如点击、键盘输入、鼠标移动等),事件触发时就会自动传递给事件处理函数。event对象包含了与事件相关的各种信息,开发者可以通过访问event对象的属性来获取具体的事件细节,并执行相应的操作。event对象是 JavaScript 事件处理中的核心,它为开发者提供了丰富的属性和方法来获取事件信息并对用户交互进行处理。了解并掌握event对象及其常见属性,可以帮助开发者更好地处理页面交互事件,并提高用户体验。

lph159的博客 2547

2. Android_逆向的历史与发展

学完本节,希望你能够:了解 Android 逆向工程的发展历程,从早期 APK 破解到现代应用保护;入门先把这几类「在干啥」搞清楚,后面学脱壳、反反调试会顺很多。(反编译 APK 得到的类汇编代码,相当于程序的「菜谱」)就能绕过验证,到后来混淆、加固、反调试一起上,逆向难度越来越高。(第三节 什么是 CPU 指令集),帮你搞清楚「反汇编看到的那些指令」是从哪来的、和 Android 逆向有啥关系。有必要——先搞清「没加固时怎么玩」,再学脱壳和对抗,思路才顺。读起来费劲,但逻辑还在,耐心一点还能跟。

长沙火山 1390

js event对象调用java_Javascript的Event对象详解

javascript Event方法和属性讲解Event属性和方法:type:事件的类型,如onlick中的click;srcElement/target:事件源,就是发生事件的元素;button:声明被按下的鼠标键,整数,1代表左键,2代表右键,4代表中键,如果按下多个键,酒把这些值加起来,所以3就代表左右键同时按下;(firefox中 0代表左键,1代表中间键,2代表右键)clientX/cl...

weixin_33421411的博客 196

Linux 内核参数:meminfo

内存管理是一个相对复杂的内核模块,错综复杂的数据结构和管理逻辑。Linux 内核为了帮助开发者从宏观上把握内存的使用情况,在几大核心数据结构中都有相应的计数统计,如物理页面使用情况、伙伴系统分配情况、内存管理区的页面使用情况、内存回收扫描回收情况、内存规整触发情况等等。本文要分析的节点meminfo是Linux 操作系统中查看系统内存最准确(meminfo 中有内存黑洞)的方法,它包含当前时刻系统的所有物理页面的信息。

私房菜 2415

Python实战项目2:b站评论采集

本文不对数据采集的过程做探讨,直接上代码。

lyccomcn的博客 3200

JavaScript核心之事件详解(EventTarget接口,js事件传播,Event对象)

目录 1 EventTarget接口 1.1 addEventListener() 1.1.1 addEventListenerthis对象的指向 1.2 removeEventListener() 1.3 dispatchEvent() 2 监听函数 2.1 HTML标签的on-属性 2.2 Element节点的事件属性 2.3addEventListener方法 3 事件...

上善若泪 5099

MIPI C-PHY介绍(Specification for C-PHY V1.2)

本文档描述了一个名为C-PHY的高速串行接口,它在带宽有限(bandwidth limited channels,看的有人说C的含义就是channel limit)的通道上提供高吞吐量性能,用于连接到外设,包括显示器和摄像头。首先0x4fff在0x4000~0x4fff区域,则f=(0,0,0,0,0,0,1),顺序是S6~S1;最后,端到端的传输过程是什么样呢,如下图所示,16bit先转换成7个符号(每个符号3位,共21位),然后并行数据转换成串行数据,输送到符号编码器和3个线的驱动器,接收端流程相反。

qflook的博客 5878

JS Event对象详解

1:相同事件绑定和解除,需要使用共用函数;绑定和解除事件时,事件没有"on",即onclick写成click2:共用函数不能带参数;

好女绪的博客 7323

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

JS中event详解

event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。event对象只在事件发生的过程中才有效。event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。例子下面的例子检查鼠标是否在链接上单击,并且,如果shift键被按下,就取消链接的跳转。cod

393

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

javascript中event详解

javascript中event详解 分类:默认栏目 event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。 event对象只在事件发生的过程中才有效。 event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。 例子 下面的例子检查鼠标是否在

旷野之路 431

技术文章 | JavaScript Event Loop机制详解与Vue.js中nextTick的实践应用

本文依次介绍了函数调用栈、MacroTask 与 MicroTask 执行顺序、浅析 Vue.js 中 nextTick 实现等内容;本文中引用的参考资料统一声明在 JavaScript 学习与实践资料索引。

CS13522431352的博客 436

javascript中event对象详解

javascript中event对象详解

天亮国度 324

js-event(事件对象)详解

1、事件对象 Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。 什么时候会产生Event 对象呢? 例如:当用户单击某个元素的时候,我们给这个元素注册的事件就会触发,该事件的本质就是一个函数,而该函数的形参接收一个event对象。 事件通常与函数结合使用,函数不会在事件发生前被执行! 使用场景即: var oDIv = document.getElementById('box'); oDiv.onclick = function(...

顺其自然~专栏 1万+

JavaScript Event Loop 机制详解与 Vue.js 中实践应用

JavaScript Event Loop 机制详解与 Vue.js 中实践应用归纳于笔者的现代 JavaScript 开发:语法基础与实践技巧系列文章。本文依次介绍了函数调用栈、MacroTask 与 MicroTask 执行顺序、浅析 Vue.js 中 nextTick 实现等内容;本文中引用的参考资料统一声明在 JavaScript 学习与实践资料索引。 1. 事件循环机制详解

面向对象的夜猫子 478

JavaScript中的Event事件对象详解

本文深入剖析JavaScript事件对象的本质与核心功能,详细讲解event对象的常用属性和方法,包括target、currentTarget、preventDefault()和stopPropagation()等关键API。系统解析事件流的捕获与冒泡机制,对比三种事件绑定方式的优缺点,重点介绍事件委托的性能优化策略。通过丰富的代码示例演示如何高效处理DOM事件,解决实际开发中的事件管理难题,提升Web应用的交互性能和代码可维护性。

m0_73941339的博客 1840
上一篇: javascript this 关键字浅析
下一篇: PHP array_values
你猜猜看!
博客等级 码龄17年 21粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值