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的实例对