Core
Native
Class
Element
Utilities
Fx
Request
Plugins
- Fx.Slide
- Fx.Scroll
- Fx.Elements
- Drag
- Drag.Move
- Color
- Group
- Hash.Cookie
- Sortables
- Tips
- SmoothScroll
- Slider
- Scroller
- Assets
- Accordion
DOM要素にイベントリスナーを添附します。
myElement.addEvent(type, fn);
<div id="myElement">Click me.</div>
$('myElement').addEvent('click', function(){ alert('clicked!'); });
Element.addEventと同じですが、代わりに指定したイベントリスナーを取り除きます。
myElement.removeEvent(type, fn);
var destroy = function(){ alert('Boom: ' + this.id); } //'this'はこの要素を参照します。 $('myElement').addEvent('click', destroy); // 後で $('myElement').removeEvent('click', destroy);
var destroy = function(){ alert('Boom: ' + this.id); } var boundDestroy = destroy.bind($('anotherElement')); $('myElement').addEvent('click', boundDestroy); // 後で $('myElement').removeEvent('click', destroy); //これではイベントを削除できません。 $('myElement').removeEvent('click', destroy.bind($('anotherElement')); // これもイベントを削除できません。 $('myElement').removeEvent('click', boundDestroy); // これがイベントを削除する正しいやり方です。
Element:addEventと同じですが、オブジェクトを用いて一度に複数のイベントを添附できます。
myElement.addEvents(events);
$('myElement').addEvents({ 'mouseover': function(){ alert('mouseover'); }, 'click': function(){ alert('click'); } });
要素から指定したタイプのイベントをすべて削除します。もし引数が渡されなければ、全てのタイプの全イベントが削除されます。
myElements.removeEvents([events]);
var myElement = $('myElement'); myElement.addEvents({ 'mouseover': function(){ alert('mouseover'); }, 'click': function(){ alert('click'); } }); myElement.addEvent('click', function(){ alert('clicked again'); }); myElement.addEvent('click', function(){ alert('clicked and again :('); }); //addEventはそれぞれの関数を添附しました。 //残念なことに、訪問者はmyElementから受けたアラートを3回もクリックしなくてはなりません。 myElement.removeEvents('click'); // これで訪問者の指はクリックイベントから守られました。
要素に添附されているイベントから、指定したタイプをすべて実行します。
myElement.fireEvent(type[, args[, delay]]);
// 'anElement'を渡して、一秒たってからすべての'click'イベントを実行します。 $('myElement').fireEvent('click', $('anElement'), 1000);
要素から要素へとイベントを複製します。
myElement.cloneEvents(from[, type]);
var myElement = $('myElement'); var myClone = myElement.clone().cloneEvents(myElement); //要素とイベントをコピーします。
Element.Events.shiftclick = { base: 'click', //ベースとなるイベントタイプを設定しました。 condition: function(event){ //さらに、追加条件として関数を加えます。 return (event.shift == true); //これは関数が実行できるということです。 } }; $('myInput').addEvent('shiftclick', function(event){ log('the user clicked the left mouse button while holding the shift key'); });
$('myElement').addEvent('mouseenter', myFunction);
$('myElement').addEvent('mouseleave', myFunction);
$('myElement').addEvent('mousewheel', myFunction);
このドキュメントはMooToolsのドキュメントを元に高橋文樹が翻訳(ちょっと改変)しました。
本家と同じく、Attribution-NonCommercial-ShareAlike 3.0ライセンスで公表されています。