mootools【六】- Event篇

说明: mootools中定义了一个Event类,它提供了对原始window的事件对象event的扩展,使用的时候,可以 把原来的event对象作为Event的构造方法参数传入:

var event = new Event(event);

    这样,返回的event就包含了所有mootools经过扩展的功能,具体扩展的属性和方法如下:

===========================属性===========================

shift: 当触发的事件是键盘按键事件时,判断按下的按键是否是shift键

例子:

$('myLink').onkeydown = function(event){

     var event = new Event(event);        //扩展了的event  

      alert(event.shift);   //如果按下的按键是shift,则alert结果为true

  };

[control,alt,meta用法和shift相同。]

 

code:当触发的事件是键盘按键事件时,按下键的keycode

 

page.x:鼠标事件触发时,鼠标相对于整个窗体的x

page.y:鼠标事件触发时,鼠标相对于整个窗体的y

client.x:鼠标事件触发时,鼠标相对于当前视野的y

client.y:鼠标事件触发时,鼠标相对于当前视野的y

(一般情况下,client.x,client.y效果和page.y,page.y一样;但当窗体出现 滚动条的时候,两者效果就有差别了。)

例子:

$('myInput').addEvent('click',function(event){

      var event = new Event(event);

      alert(event.page.y + "||" + event.client.y);

 });

key:当触发的事件是键盘按键事件时,按下按键的名字,如:"enter","esc"等等。

 

target:发生事件的元素。

relatedTarget:发生mouseover和mouseout事件时的元素对象的参照对象。

 

==========================方法=============================

方法:stop

作用:停止事件的执行

 

方法:stopPropagation

作用:停止事件的冒泡传递

 

方法:preventDefault

作用:停止事件的默认动作

 

    由于Event的引进,mootools又给Function扩展了一个方法:

bindWithEvent它和Function的bindAsEventListener方法用法基本相同,不一样的是,bindAsEventListener方法传递到事件监听器中的是原来的event对象,而bindWithEvent则是Event的实例对

有话要说