My白开水

导航

8月15号=》406页-410页

15.1.5  在代码中触发事件

    除了可以让用户动作、窗口动作等触发JavaScript中的事件外,JavaScript还允许在脚本中触发事件,程序触发事件

    与用户动作触发事件的效果完全相同。

    代码示范:

      //脚本代码

      function test(){

        alert("脚本事件");

      }

      function clickTest(){

        //脚本内触发事件

        test();

      }

      //html代码

      <button click="clickTest()">测试</button>

    点击测试按钮将会弹出脚本事件对话框。

 

15.2  Internet Explorer的事件模型

    Internet Explorer包含了不少独有的事件特性,这些事件特性包括Internet Explorer自己的事件绑定机制,以及独有的事件传播机制等。

 

15.2.1  使用Script for绑定

    Internet Explorer支持两种自己独有的事件绑定方法。这两种方法都不需要在HTML元素中增加额外的属性。

    Microsoft扩展了<script/>元素,可以将它包含的脚本语句和某个元素的某个事件类型进行绑定,完成绑定的两个属性时for和event。

    for属性的值必须是HTML文档中某个元素的id属性值,该属性值唯一地标识了该HTML元素。event属性值是该元素所支持的事件名称,

    一旦为该script标签指定了这两个属性,就表明该标签内的所有脚本绑定了该元素的队友事件。

    代码示范:

      <input type="button" id="bn1" name = "bn1" value="单击我"/>

      <script for = "bn1" event ="onclick" type="text/javascript">

        alert("您单击了我");

      </script>

 

15.2.2  使用attachEvent方法执行绑定

    在W3C指定标准的事件模型之前,attachEvent()方法已经被实现了,并可被用于Internet Explorer 5.0以及更新的版本,该方法

    可以作用于浏览器中的每个HTML元素。这种绑定方式与AWT、Swing事件绑定机制非常相似。

    代码示范:

      //脚本代码

      var test = function()

      {

        alert("您单击了我");

      }

      document.getElementById("bn1").attachEvent("onclick",test);

      //HTML代码

      <input type="button" id="bn1" value="单击我">

 

15.2.3  访问事件对象

    如果JavaScript脚本需要访问鼠标事件发生的位置、触发鼠标事件的鼠标键、触发键盘事件的键盘键,则需要访问事件对象。

    Internet Explorer中的事件对象是一个隐示可用的全局对象:event,当一个事件在浏览器中发生时,浏览器创建一个隐示

    可用的事件对象,JavaScript脚本通过event就可以访问该对象。

    Internet Explorer中的事件对象有如下常用的属性。

      type:返回发生的事件类型,例如“click”等。

      srcElement:返回发生事件的HTML元素。

      clientX:返回发生鼠标事件在页面中的X坐标。

      clientY:返回发生鼠标事件在页面中的Y坐标。

      offsetX:返回发生鼠标事件位置相对于事件源的X坐标。

      offsetY:返回发生鼠标事件位置相对于事件源的Y坐标。

      button:对于鼠标事件有效,返回发生鼠标事件时所用的鼠标键。

      keyCode:对于键盘事件有效,返回发生键盘事件时所用的键盘键。

      altKey:返回boolean值,用以确定事件发生时是否按下了Alt组合键。

      ctrlKey:返回boolean值,用以确定事件发生时是否按下了Ctrl组合键。

      shiftKey:返回boolean值,用以确定事件发生时是否按下了Shift组合键。

      cancelBubble:阻止事件冒泡。

      returnValue:返回事件处理函数的返回值。在整个事件传播链中,事件处理函数可以改变该值,当该值被设为false时,该事件的默认行为被取消。

      formElement:对mouseover和mouseout两个事件有效,用于返回鼠标移出的HTML元素。

      toElement:对于mouseover和mouseout两个事件有效,用于返回鼠标移入的HTML元素。

 

posted on 2014-08-17 17:50  My白开水  阅读(106)  评论(0)    收藏  举报