Прив'язує слухача події до 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 refers to the Element. $('myElement').addEvent('click', destroy); //later... $('myElement').removeEvent('click', destroy);
var destroy = function(){ alert('Boom: ' + this.id); } var boundDestroy = destroy.bind($('anotherElement')); $('myElement').addEvent('click', boundDestroy); //later... $('myElement').removeEvent('click', destroy); // this won't remove the event. $('myElement').removeEvent('click', destroy.bind($('anotherElement')); // this won't remove the event either. $('myElement').removeEvent('click', boundDestroy); // the correct way to remove the event.
Те саме, що й Element:addEvent, але приймає об'єкт для додавання кількох подій одночасно.
myElement.addEvents(events);
$('myElement').addEvents({ mouseover: function(){ alert('mouseover'); }, click: function(){ alert('click'); } });
Видаляє всі події окремого типу з Element. Якщо аргумент не передано, видаляє всі події всіх типів.
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 will keep appending each function. //Unfortunately for the visitor, there will be three alerts they'll have to click on. myElement.removeEvents('click'); // saves the visitor's finger by removing every click event.
Виконує всі події вказаного типу, присутні в Element.
myElement.fireEvent(type[, args[, delay]]);
// fires all the added 'click' events and passes the Element 'anElement' after one second $('myElement').fireEvent('click', $('anElement'), 1000);
Клонує всі події з Element в цей Element.
myElement.cloneEvents(from[, type]);
var myElement = $('myElement'); var myClone = myElement.clone().cloneEvents(myElement); // clones the element and its events
Ви можете додати додаткові користувацькі події, додаючи властивості (об'єкти) до Element.Events Object
Об'єкт Element.Events.yourProperty може мати:
Element.Events.shiftclick = { base: 'click', // the base event type condition: function(event){ //a function to perform additional checks return (event.shift == true); // this means the event is free to fire } }; $('myInput').addEvent('shiftclick', function(event){ log('the user clicked the left mouse button while holding the shift key'); });
Якщо ви використовуєте опцію condition, ви ПОВИННИ вказати базовий тип, якщо не плануєте перезаписати нативну подію. (дуже не рекомендується: використовуйте лише тоді, коли точно знаєте, що робите).
Ця подія викликається, коли миша входить в область DOM Element і не викликається знову, якщо миша переходить через дочірні елементи Element (на відміну від mouseover).
$('myElement').addEvent('mouseenter', myFunction);
Ця подія викликається, коли миша залишає область DOM Element і не викликається, якщо миша переходить через дочірні елементи Element (на відміну від mouseout).
$('myElement').addEvent('mouseleave', myFunction);
Ця подія викликається при прокручуванні коліщатка миші;
$('myElement').addEvent('mousewheel', myFunction);
Події mouseenter та mouseleave підтримуються нативно Internet Explorer, Opera 11 та Firefox 10. MooTools додасть користувацькі події лише за необхідності.
Ця користувацька подія просто перенаправляє DOMMouseScroll (Mozilla) на mousewheel (Opera, Internet Explorer), роблячи її кросбраузерною.
Це об'єкт з усіма відомими типами DOM-подій, такими як click, mouseover, load тощо.
Кожен тип події має значення, можливі значення: 0 (undefined, null), 1, та 2.
За замовчуванням це undefined. У цьому випадку ви можете додавати події, але повинні викликати їх вручну.
element.addEvent('pizza', fn); element.fireEvent('pizza', 'yum!');
Подія не додається до DOM фактично, а лише реєструється в JS-об'єкті.
Другий випадок — якщо значення дорівнює 1. На цей раз об'єкт прив'язується до DOM. Зазвичай через element.addEventListener, або element.attachEvent у старих версіях IE. Ви все ще можете використовувати element.fireEvent('load') для ручного виклику подій.
Останній випадок — якщо значення дорівнює 2. Це те саме, що й випадок 1. Єдина різниця полягає в тому, що об'єкт події, що містить ці
| © Linux.ria.com, 2008-2026 |