JS event使用方法详解


Posted in Javascript onApril 28, 2008

event的某些属性只对特定的事件有意义。比如,fromElement 和 toElement 属性只对 onmouseover 和 onmouseout 事件有意义。

下面的例子检查鼠标是否在链接上单击,并且,如果shift键被按下,就取消链接的跳转。

<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()">

下面的例子在状态栏上显示鼠标的当前位置。

<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()函数。

 

<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 的值。

 

<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”

<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 相关文章推荐
非常漂亮的JS代码经典广告
Oct 21 Javascript
javascript 面向对象编程 聊聊对象的事
Sep 17 Javascript
浏览器解析js生成的html出现样式问题的解决方法
Apr 16 Javascript
页面定时刷新(1秒刷新一次)
Nov 22 Javascript
JS实现跟随鼠标立体翻转图片的方法
May 04 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
Sep 15 Javascript
深入理解jquery中的事件与动画
May 24 Javascript
jQuery中使用animate自定义动画的方法
May 29 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
Jun 14 Javascript
js 监控iframe URL的变化实例代码
Jul 12 Javascript
Angular4学习笔记router的简单使用
Mar 30 Javascript
在layui下对元素进行事件绑定的实例
Sep 06 Javascript
ext for eclipse插件安装方法
Apr 27 #Javascript
ext监听事件方法[初级篇]
Apr 27 #Javascript
js调用flash的效果代码
Apr 26 #Javascript
JS查看对象功能代码
Apr 25 #Javascript
javascript String 对象
Apr 25 #Javascript
摘自启点的main.js
Apr 20 #Javascript
不懂JavaScript应该怎样学
Apr 16 #Javascript
You might like
php 什么是PEAR?(第二篇)
2009/03/19 PHP
php自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
2016/04/21 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
jQuery的写法不同导致的兼容性问题的解决方法
2010/07/29 Javascript
jquery isEmptyObject判断是否为空对象的函数
2011/02/14 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
JS字符串截取函数实例
2013/12/27 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
详解刷新页面vuex数据不消失和不跳转页面的解决
2018/01/30 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
对Vue table 动态表格td可编辑的方法详解
2018/08/28 Javascript
vue路由权限校验功能的实现代码
2020/06/07 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
Python 利用argparse模块实现脚本命令行参数解析
2020/12/28 Python
一款纯css3实现的圆形旋转分享按钮旋转角度可自己调整
2014/09/02 HTML / CSS
20佳惊艳的HTML5应用程序示例分享
2011/05/03 HTML / CSS
详解如何将 Canvas 绘制过程转为视频
2021/01/25 HTML / CSS
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
自荐信的五个重要部分
2013/10/29 职场文书
岗位职责的构建方法
2014/02/01 职场文书
《都江堰》教学反思
2014/02/07 职场文书
新闻编辑求职信
2014/07/13 职场文书
九一八事变纪念日演讲稿
2014/09/14 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
五星级酒店前台接待岗位职责
2015/04/02 职场文书
对学校的意见和建议
2015/06/04 职场文书
nginx location优先级的深入讲解
2021/03/31 Servers
php7中停止php-fpm服务的方法详解
2021/05/09 PHP