包含了Event类, Element类上附加的用来处理事件的方法, 自定义事件, 以及添加了Function的原型方法bindWithEvent。
MIT-style license.
Element. Event.js | 包含了Event类, Element类上附加的用来处理事件的方法, 自定义事件, 以及添加了Function的原型方法bindWithEvent。 |
Event | 兼容各浏览器的事件管理 |
属性 | |
stop | 停止事件 |
stopPropagation | 停止事件的传播 |
preventDefault | 防止事件的默认动作 |
keys | |
Element |
|
属性 | |
addEvent | 为DOM元素增加一个事件监听器 |
removeEvent | 移除先前为DOM元素添加的事件监听器 |
addEvents | 可以一次为一个DOM元素添加多个事件监听器 |
removeEvents |
移除DOM元素上某个类型的事件的所有监听器 |
fireEvent | 执行一个DOM元素上某个类型的事件的所有监听器 |
cloneEvents | 从一个DOM元素上复制所有监听器到本元素 |
自定义事件 | |
事件 | |
mouseenter | 鼠标进入DOM元素的区域后触发。不会在经过子元素的时候触发(不像mouseover)。 |
mouseleave | 鼠标离开DOM元素的区域后触发。不会在经过子元素的时候触发(不像mouseout)。 |
Function |
|
属性 | |
bindWithEvent | 自动会向目标function中传入一个mootools的Event类实例 |
兼容各浏览器的事件管理
event | 浏览器的event对象 |
shift | 如果按了键盘的shift键,则返回true |
control |
如果按了键盘的ctrl键,则返回true |
alt | 如果按了键盘的alt键,则返回true |
meta | 如果按了键盘的meta键,则返回true |
wheel | 鼠标滚轮的滚动量 |
code |
按下的键盘的键代码 |
page.x | 相对于整个浏览器的鼠标x位置 |
page.y | 相对于整个浏览器的鼠标y位置 |
client.x | 相对于可视区域的鼠标x位置 |
client.y | 相对于可视区域的鼠标y位置 |
key | 按下的键盘的键的名称。如 ‘enter’, ‘up’,
‘down’, ‘left’, ‘right’, ‘space’, ‘backspace’, ‘delete’, ‘esc’. |
target | 事件的target |
relatedTarget | 事件的参照target(即前一个事件的target) |
$('myLink').onkeydown = function(event){ var event = new Event(event);
alert(event.key); alert(event.shift);
if (event.key == 's' && event.control) {
alert('documentsaved');
} };
属性 | |
stop | 停止事件 |
stopPropagation | 停止事件的传播 |
preventDefault | 防止事件的默认动作 |
keys |
停止事件
停止事件的传播
防止事件的默认动作
Event.keys.whatever = 80; $(myelement).addEvent(keydown, function(event){ event = new Event(event); if (event.key == 'whatever') console.log(whatever key clicked). });
属性 | |
addEvent | 为DOM元素增加一个事件监听器 |
removeEvent | 移除先前为DOM元素添加的事件监听器 |
addEvents | 可以一次为一个DOM元素添加多个事件监听器 |
removeEvents | 移除DOM元素上某个类型的事件的所有监听器 |
fireEvent | 执行一个DOM元素上某个类型的事件的所有监听器 |
cloneEvents | 从一个DOM元素上复制所有监听器到本元素 |
为DOM元素增加一个事件监听器
type | 要监听的事件 (‘click’, ‘load’, 等) |
fn | 要执行的监听函数 |
$('myElement').addEvent('click', function(){alert('clicked!')});
移除先前为DOM元素添加的事件监听器
可以一次为一个DOM元素添加多个事件监听器
移除DOM元素上某个类型的事件的所有监听器
type | 事件名(如 ‘click’) |
执行一个DOM元素上某个类型的事件的所有监听器
type | 事件名 (如 ‘click’) |
args | 数组或对象。要传给函数的参数。多个参数用数组。 |
delay | 延迟执行函数的毫秒数 |
从一个DOM元素上复制所有监听器到本元素
from | 要进行复制的源元素 |
type | 可选,如'click'等。如果指定了,则表示只复制该种类型的事件上的监听器 |
事件 | |
mouseenter | 鼠标进入DOM元素的区域后触发。不会在经过子元素的时候触发(不像mouseover)。 |
mouseleave | 鼠标离开DOM元素的区域后触发。不会在经过子元素的时候触发(不像mouseout)。 |
鼠标进入DOM元素的区域后触发。不会在经过子元素的时候触发(不像mouseover)。
$(myElement).addEvent('mouseenter', myFunction);
鼠标离开DOM元素的区域后触发。不会在经过子元素的时候触发(不像mouseout)。
$(myElement).addEvent('mouseleave', myFunction);
属性 | |
bindWithEvent | automatically passes MooTools Event Class. |
自动会向目标function中传入一个mootools的Event类实例
bind | 可选,该对象中this所要引用的对象 |
args | 可选,要传递入的参数;如果参数数量大于一个,需要使用数组 |
function myFunction(event){ alert(event.client.x); };
myElement.addEvent('click', myFunction.bindWithEvent(myElement));
Documentation by Aaron Newton & Mootools Developers, generated by NaturalDocs and tidy, and GeSHi
文档中文翻译:zarknight 勘误Email:zarknight@gmail.com asp之家