JavaScript中的事件对象

JavaScript中有一类对象是不能被忽视的,那就是事件对象。

事件对象,是用来记录一些事件发生时的相关信息的对象。事件对象只有事件发生时才会产生,并且只能是事件处理函数内部访问,在所有事件处理函数运行结束后,事件对象就被销毁。

        JavaScript中,常用的几个事件对象为一下几个:

          1. srcElement  :事件源对象

               使用:event.srcElement.tagName  、event.srcElement.type

          2.  keyCode :键盘码对象

               使用:event.keyCode

               需要注意的是:

               onkeypress事件只能运用于数字字母键,即按下任何数字键、26字母键就可以触发这个事件,但对系统按钮(箭头键和功能键)无法识别;

               onkeydown和onkeyup事件能运用于任何键盘键(包括系统按钮,如箭头键和功能键)时发生。

               所以,当需要获取键盘码的对象是上述两种情况之一时,应该区别对待,选用合适的事件。

          3.  clientX, clientY :客户端浏览器的坐标对象

               即浏览器地址栏下方的空白区域的坐标,经常与鼠标点击事件配合使用。

          4.  screenX, screenY:屏幕上当前的坐标

               即当鼠标事件发生时,屏幕上鼠标当前的坐标,也是经常与鼠标点击事件配合使用。

          5.  returnValue:事件返回值

               event.returnValue

          6. cancelBubble:“消除冒泡”事件对象

              当不同级元素间存在相同事件,如:

        <body οnclick="fun()">
                         <div οnclick="fun1()">
                         </div>
               </body>

              时,点击子元素导致连续触发事件,像冒泡一样从内往外冒。所以叫“消除冒泡”事件对象。

             使用:如上面的例子,在fun1函数中加上这么一句:          

        event.cancelBubble= true; //消除冒泡


          另外,我们需注意:

           IE和火狐对事件对象存在着兼容性问题,解决方法是自己写一个函数,如下所示:

            例:         

       <div id=one></div>
              <script>              
		one.οnmοusedοwn=function(e){
				var ev=e || window.event;
                                // 接下来,对对象的操作不用event而使用ev 
                                var dx=ev.clientX;
				var dy=ev.clientY;
                                var se=ev.srcElement.tagName;
                     var code =ev.keyCode;
                     ......
              </script>

更详细的信息可见博客园文章:http://www.cnblogs.com/sntetwt/p/3309195.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值