原创 javascript的event事件与获取鼠标光标收藏

javascript的event事件与获取鼠标光标- -

                                      

javascript的event事件与获取鼠标光标
javascript的event事件与获取鼠标光标

<script>
    var canmove=false;
 var leftX=0,topY=0,newX=0,newY=0;
        function showpx(){
           var obj=document.getElementById("tbl1");
           var objp=obj.offsetParent
           alert("Top:" + obj.offsetTop + "Left:" +obj.offsetLeft + "px" + objp.offsetTop + "py" +

objp.offsetLeft );       
        }


 function moveAble(){
  if(event.srcElement.id=="moveArea")
     canmove=true;
              leftX=(event.clientX+document.body.scrollLeft)-wizard.style.pixelLeft;
     topY=(event.clientY+document.body.scrollTop)-wizard.style.pixelTop;
     //wizard.style.pixelLeft = wizard.offsetLeft;
            //wizard.style.pixelTop = wizard.offsetTop;
                   //event.clientX,event.clientY:分别表示当前事件的鼠标在屏幕浏览区的位置
                   //wizard.style.pixelLeft,wizard.style.pixelTop: 表示指定元素的XY点的值
                   //wizard.offsetLeft | wizard.offsetLeft与
                   //  wizard.style.pixelLeft | wizard.style.pixelTop的值相同,应该在一些场合下是不同的?
                   //注意大小写,
 }
 function moveDisable(){
    canmove=false;
 }
 function move(){
    if(canmove){
     newX = (event.clientX + document.body.scrollLeft);
         newY = (event.clientY + document.body.scrollTop);
     wizard.style.pixelLeft=newX-leftX;
     wizard.style.pixelTop=newY-topY;
     event.returnValue = false;
    }
 }
 document.onmousedown=moveAble;
 document.onmouseup=moveDisable;
 document.onmousemove=move;
 window.onresize=showpx;
 showpx();//如果把这一个script段放到HTML底部,showpx可以执行正常
  </script>
  <table id="wizard" cellspacing="0" style="position:absolute;left:300;top:150;background:#EEEEEE;border:1

solid

#CCCCCC">
     <tr bgcolor="black" id="moveArea">
   <td align="right"  id="moveArea">
     <font color='white'>最新消息</font>
   </td>
   <td align="right" id="moveArea">
     <a href="#" onclick="wizard.style.display='none'"><font color='white'>[关闭]</font></a>
   </td>
      </tr>
 <tr>
   <td>
     <img src='../images/girl_s.gif'>
   </td>
   <td valign="top"><br><br>
     <a href='../news/MessView.net?IDMessage=11147'><b><font

color='red'>10月23日WINDOWS主机升级通知!</font></b><br>[2004-10-21]</a><br><a

href='../news/MessView.net?IDMessage=11060'><b><font

color='red'>CN代理价格再一次下调,低至行业之最!</font></b><br>[2004-10-18]</a><br><a

href='../news/MessView.net?IDMessage=11059'><b><font

color='red'>行业惊暴,买国家顶级CN域名送国际域名!</font></b><br>[2004-10-18]</a><br>   </td>
 </tr>
   </table>
&nbsp;&nbsp;&nbsp;
<table width='100%'>
<tr>
  <td width='20%'>
<table id=tbl2><tr><td>test1</td></tr></table>
  </td>
  <td width='20%'>
<table id=tbl1><tr><td>test2</td></tr></table>
  </td>
  <td width='20%'>
<table id=tbl3><tr><td>test3</td></tr></table>
  </td>
</tr>
</table>


注:
EVENT对象:
  button:在mousedown,mouseup,click事件中,按的是哪个键
         0-左键,1-中间键,2-右键
  altKey,ctrlKey,metaKey,shiftKey:键盘属性对任何鼠标事件都有效
  clientX,clientY:鼠标指针相对于客户区的XY坐标,不考虑文档滚动
                  如果要把窗体滚动计在内,加上document.body.scrollLeft,document.body.scrollTop即可
  screenX,screenY:鼠标指针相对于用户显示器的左上角的XY坐标的值
  type:发生事件的类型,如click,mouseover
  srcElement:发生事件的文档元素
  offsetX,offsetY:鼠标指针相对于源元素的位置,用它们可以确定点击了image的哪个像素
  keyCode:整数属性声明了keydown,keyup事件的键代码,以及keypress事件的Unicode字符,
          用String.fromCharCode()可将字符代码转换成字符串.
  fromElement:声明mouseover事件中鼠标移动过的文档元素
  toElement:mouseout事件中鼠标移动到的文档元素.
  cancelBubble:一个布尔值,设为true可以阻止当前事件进一步起泡
               与2级dom的event对象的stopPropagation()方法相同
  returnValue:布尔值,设为false可阻止浏览器执行与事件相关的默认动作
              与2级dom的event对象的preventDefault()方法

--------------------------------------------------------增加的部分-------------------------------------------------------------------------- 

描述 event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。 event对象只在事件发生的过程中才有效。  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 
描述: 
(请参考 http://www.joyist.com/forum/showto ... ID=31&Forum_ID=2) 
检测键盘事件相对应的内码。 
这个属性用于 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 
这是个只读属性。这意味着,你只能通过它来得到鼠标的当前位置,却不能用它来更改鼠标的位置。

发表于 @ 2007年03月26日 14:56:00|评论(loading...)

新一篇: Java的网络功能与编程 | 旧一篇: java中调用c(c++)写的dll文件的实现及步骤

用户操作
[即时聊天] [发私信] [加为好友]
lenhan12345
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
lenhan12345的公告
欢迎大家来到我的blog,希望和喜欢java的朋友共同探讨,提高! qq:23254924 E-mail:lenhan12345@sohu.com
文章分类
收藏
    经典blog推荐
    gzfqh的专栏 →底层代码研究(病毒及汇编)(RSS)
    java 3D 游戏编程(RSS)
    javaeye
    Java高手的blog
    oksonic博客
    兰芯草驿站(struts+hibernate+spring+ajax文章)
    听风观影(安全类)(RSS)
    张孝祥专栏(RSS)
    很牛的安全类BLOG
    得峰的专栏(破解及入侵)(RSS)
    无花果(病毒高手)
    最牛的网络安全BLOG圈子
    林信良(良葛格)的专栏
    爱上燕子,爱上春天(struts+hibernate+spring)
    牛宝童的BLOG
    邓立强的BOLG
    视频教程网址
    中国315安全网汇编视频教程
    中山大学汇编视频教程
    清华大学汇编语言视频教程
    推荐blog
    AJAXIDE(不错)
    EmilMatthew's Blog(算法学习)(RSS)
    eye_of_back的专栏(RSS)
    herongxin的专栏(Spring类)(RSS)
    咖啡.编程.思考(RSS)
    天火——Qutr的专栏(RSS)
    彭瑞刚的技术专栏(RSS)
    李冠楠(NO.1)(RSS)
    笨鸟先飞^_^的专栏(RSS)
    超强网络安全牛人
    跬步致远——Ai92(RSS)
    推荐网址
    Ajax中国
    AoGo汇编小站
    avi电影字幕下载地址
    Cn-linux交流论坛
    CVC电脑病毒论坛
    eclipse+myeclipse搭建JAVA开发环境
    hibernate入门练习
    itpub论坛
    IT英雄榜
    javaworld
    JAVA开源大全
    JAVA爱好者
    JAVA经典网址
    js精品源码
    NetBeans中国社区
    ORCEL网站
    SpringFramework中文论坛
    struts标签文档
    webdn(综合类)
    人人软件站(最全计算机教材下载)
    例程网(各类javaApi实例及模型架例子,超好~)
    天下网管理联盟技术学院(网络类经典)
    孙卫琴论坛
    小雨论坛(js&css&dom)
    底层编程实例
    数据库专区
    无忧脚本
    星期八的blog
    最好的在线学习网站
    永远的linux
    深度 Ghost XP 系统
    深度Ghost XP 系统下载
    第八阁破解爱好者论坛
    红联Linux论坛
    绿盟软件下载
    编程爱好者论坛
    编程王代码库
    美河学习在线网站
    蓝色理想
    虚拟机之家
    计算机类电子书下载
    赛迪网技术社区
    霏凡软件站
    高端JAVA培训
    网络安全类经典推荐
    315安全网
    51CTO组网建网频道
    AoGo汇编小站
    中国X黑客小组
    中国病毒公社
    华夏黑客联盟
    安全在经(经典工具下载)
    看雪软件安全论坛
    第八军团
    网络安全焦点
    罗云彬的编程乐园
    邪恶8进制
    陈十三哥blog
    黑基
    黑客X档案
    黑客技术吧!
    黑客榜中榜
    黑客防线
    黑客防线(主战)
    存档
    软件项目交易
    Csdn Blog version 3.1a
    Copyright © lenhan12345