mootools中定义了一个Event类,它提供了对原始window的事件对象event的扩展,使用的时候,可以 把原来的event对象作为Event的构造方法参数传入:
这样,返回的event就包含了所有mootools经过扩展的功能,具体扩展的属性和方法如下:
================================================================
属性:
shift - 当触发的事件是键盘按键事件时,判断按下的按键是否是shift键
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一样;但当窗体出现滚动条的时候,两者效果就有差别了。)
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的实例对象。